W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
ALTER VIEW — 更改一個(gè)視圖的定義
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_USER | SESSION_USER }
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
更改一個(gè)視圖的多種輔助屬性(如果想要 修改視圖的查詢定義,應(yīng)使用CREATE OR REPLACE VIEW
)。
要使用ALTER VIEW
,你必須擁有該視圖。要更改一個(gè)視圖的模式, 你還必須具有新模式上的CREATE
特權(quán)。要更改擁有者,你還必須 是新?lián)碛薪巧囊粋€(gè)直接或者間接成員,并且該角色必須具有該視圖的模式上的 CREATE
特權(quán)(這些限制強(qiáng)制修改擁有者不能做一些通過刪除和重 建視圖做不到的事情。不過,一個(gè)超級用戶怎么都能更改任何視圖的所有權(quán)。)。
name
一個(gè)現(xiàn)有視圖的名稱(可以是模式限定的)。
column_name
現(xiàn)有列的名稱。
new_column_name
現(xiàn)有列的新名稱。
IF EXISTS
該視圖不存在時(shí)不要拋出一個(gè)錯(cuò)誤。這種情況下會發(fā)出一個(gè)提示。
SET
/DROP DEFAULT
這些形式為一個(gè)列設(shè)置或者移除默認(rèn)值。對于任何在該視圖上的 INSERT
或者UPDATE
命令,一個(gè)視圖列的默認(rèn)值 會在引用該視圖的任何規(guī)則或觸發(fā)器之前被替換進(jìn)來。因此,該視圖的默認(rèn)值將會 優(yōu)先于來自底層關(guān)系的任何默認(rèn)值。
new_owner
該視圖的新?lián)碛姓叩挠脩裘?/p>
new_name
該視圖的新名稱。
new_schema
該視圖的新模式。
SET ( view_option_name
[= view_option_value
] [, ... ] )
RESET ( view_option_name
[, ... ] )
設(shè)置或者重置一個(gè)視圖選項(xiàng)。當(dāng)前支持的選項(xiàng)有:
check_option
(enum
)更改該視圖的檢查選項(xiàng)。值必須是local
或者cascaded
。
security_barrier
(boolean
)更改該視圖的安全屏障屬性。值必須是一個(gè)布爾值,如 true
或者false
。
由于歷史原因,ALTER TABLE
也可以用于視圖,但是 只允許等效于以上形式的ALTER TABLE
變體用于視圖。
把視圖foo
重命名為 bar
:
ALTER VIEW foo RENAME TO bar;
要為一個(gè)可更新視圖附加一個(gè)默認(rèn)列值:
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
是一種PostgreSQL
的 SQL 標(biāo)準(zhǔn)擴(kuò)展。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: