本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ALTER VIEW
ALTER VIEW 陳述式允許變更現有檢視的各種屬性,而 Aurora DSQL 支援此命令的所有 PostgreSQL 語法。
支援的語法
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 | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER VIEW [ IF EXISTS ] name RENAME [ COLUMN ] column_name TO new_column_name 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 [, ... ] )
Description
ALTER VIEW 會變更檢視的各種輔助屬性。(如果您想要修改檢視的定義查詢,請使用 CREATE OR REPLACE VIEW。) 您必須擁有檢視才能使用 ALTER VIEW。若要變更檢視的結構描述,您還必須具備新結構描述的 CREATE 權限。若要變更擁有者,您必須能夠對新的擁有角色使用 SET ROLE,且該角色必須具有檢視結構描述的 CREATE 權限。
Parameters
name-
現有檢視的名稱 (選擇性符合結構描述資格)。
column_name-
現有資料欄的名稱,或現有資料欄的新名稱。
IF EXISTS-
如果檢視不存在,不要擲回錯誤。在此情況下會發出通知。
SET/DROP DEFAULT-
這些表單會設定或移除資料欄的預設值。系統會以目標為檢視的任何
INSERT或UPDATE命令,替代檢視資料欄的預設值。 new_owner-
檢視新擁有者的使用者名稱。
new_name-
檢視的新名稱。
new_schema-
檢視的新結構描述。
SET ( view_option_name [= view_option_value] [, ... ] )-
設定檢視選項。以下是支援的選項:
-
check_option (enum)- 變更檢視的檢查選項。值必須為local或cascaded。 -
security_barrier (boolean)- 變更檢視的安全屏障屬性。 -
security_invoker (boolean)- 變更檢視的安全呼叫器屬性。
-
RESET ( view_option_name [, ... ] )-
將檢視選項重設為其預設值。
範例
將檢視重新命名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 是 Aurora DSQL 支援的 SQL 標準 PostgreSQL 擴充功能。