ALTER VIEW#
ALTER VIEW
ALTER VIEW — изменить определение представления
Синтаксис
ALTER VIEW [ IF EXISTS ]name
ALTER [ COLUMN ]column_name
SET DEFAULTexpression
ALTER VIEW [ IF EXISTS ]name
ALTER [ COLUMN ]column_name
DROP DEFAULT ALTER VIEW [ IF EXISTS ]name
OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER VIEW [ IF EXISTS ]name
RENAME [ COLUMN ]column_name
TOnew_column_name
ALTER VIEW [ IF EXISTS ]name
RENAME TOnew_name
ALTER VIEW [ IF EXISTS ]name
SET SCHEMAnew_schema
ALTER VIEW [ IF EXISTS ]name
SET (view_option_name
[=view_option_value
] [, ... ] ) ALTER VIEW [ IF EXISTS ]name
RESET (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 will receive a NULL INSERT INTO a_view(id) VALUES(2); -- ts will receive the current time
Совместимость
ALTER VIEW
- это расширение стандарта SQL для Tantor SE-1C.