ALTER VIEW — изменение определения представления
ALTER VIEW [ IF EXISTS ]nameALTER [ COLUMN ]column_nameSET DEFAULTexpressionALTER VIEW [ IF EXISTS ]nameALTER [ COLUMN ]column_nameDROP DEFAULT ALTER VIEW [ IF EXISTS ]nameOWNER TO {new_owner| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER VIEW [ IF EXISTS ]nameRENAME [ COLUMN ]column_nameTOnew_column_nameALTER VIEW [ IF EXISTS ]nameRENAME TOnew_nameALTER VIEW [ IF EXISTS ]nameSET SCHEMAnew_schemaALTER VIEW [ IF EXISTS ]nameSET (view_option_name[=view_option_value] [, ... ] ) ALTER VIEW [ IF EXISTS ]nameRESET (view_option_name[, ... ] )
ALTER VIEW изменяет различные вспомогательные свойства
представления. (Если вы хотите изменить определяющий запрос представления,
используйте CREATE OR REPLACE VIEW.)
Вы должны владеть представлением, чтобы использовать ALTER VIEW.
Чтобы изменить схему представления, вы также должны иметь привилегию CREATE
на новой схеме.
Чтобы изменить владельца, вы должны иметь возможность выполнить SET ROLE для новой
роли-владельца, и эта роль должна иметь привилегию CREATE
на схеме представления.
(Эти ограничения обеспечивают, что изменение владельца
не сделает ничего, что вы не могли бы сделать, удалив и воссоздав представление.
Однако суперпользователь может изменить владельца любого представления в любом случае.)
nameИмя (возможно, с указанием схемы) существующего представления.
column_nameИмя существующего столбца.
new_column_nameНовое имя для существующего столбца.
IF EXISTSНе вызывать ошибку, если представление не существует. В этом случае выдается уведомление.
SET/DROP DEFAULT
Эти формы устанавливают или удаляют значение по умолчанию для столбца.
Значение по умолчанию столбца представления подставляется в любую
команду INSERT или UPDATE, целью которой является
представление, до применения любых правил или триггеров для представления. Таким образом, значение по умолчанию
представления будет иметь приоритет над любыми значениями по умолчанию из
базовых отношений.
new_ownerИмя пользователя нового владельца представления.
new_nameНовое имя для представления.
new_schemaНовая схема для представления.
SET ( view_option_name [= view_option_value] [, ... ] )RESET ( view_option_name [, ... ] )Устанавливает или сбрасывает опцию представления. В настоящее время поддерживаются следующие опции:
check_option (enum)
Изменяет опцию проверки представления. Значение должно
быть local или cascaded.
security_barrier (boolean)
Изменяет свойство security-barrier представления. Значение должно
быть логическим, например true
или false.
security_invoker (boolean)
Изменяет свойство security-invoker представления. Значение должно
быть логическим, например true
или false.
По историческим причинам команду ALTER TABLE также можно использовать с
представлениями; но единственные варианты ALTER TABLE,
которые разрешены для представлений, эквивалентны показанным выше.
Чтобы переименовать представление foo в
bar:
ALTER VIEW foo RENAME TO bar;
Чтобы присвоить значение по умолчанию столбцу обновляемого представления:
CREATE TABLE base_table (id int, ts timestamptz); CREATE VIEW a_view AS SELECT * FROM base_table; ALTER VIEW a_view ALTER COLUMN ts SET DEFAULT now(); INSERT INTO base_table(id) VALUES(1); -- ts получит NULL INSERT INTO a_view(id) VALUES(2); -- ts получит текущее время
ALTER VIEW является расширением Digital Q.DataBase
стандарта SQL.