ALTER VIEW

Изменение определения представления.

Обзор

ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression

ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT

ALTER VIEW [ IF EXISTS ] name OWNER TO new_owner

ALTER VIEW [ IF EXISTS ] name RENAME TO new_name

ALTER VIEW [ IF EXISTS ] name SET SCHEMA new_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.)

Для выполнения этой команды вы должны быть владельцем представления. Чтобы изменить схему представления, вы также должны иметь привилегию CREATE для новой схемы. Чтобы изменить владельца, вы должны быть прямым или косвенным членом новой роли-владельца, и эта роль должна обладать привилегией CREATE в схеме представления. Эти ограничения гарантируют, что смена владельца возможна только при наличии тех же прав, которые требуются для удаления и повторного создания представлений. Однако суперпользователи могут изменять владельца любого представления.

Параметры

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 (строка): изменяет условия проверки для представления. Значение должно быть local или cascaded.
    • security_barrier (логическое): изменяет свойства барьера безопасности представления. Значение должно быть логическим, например true или false.

Примечание

По историческим причинам с представлениями можно использовать команду ALTER TABLE; однако единственная разрешённая форма ALTER TABLE для представлений эквивалентна оператору, показанному выше.

Переименование представления myview в newview: Переименовать представление myview в newview:

ALTER VIEW myview RENAME TO newview;

Пример

Переименовать представление 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, реализованным в базе данных YMatrix.

Смотрите также

CREATE VIEW, DROP VIEW