ALTER DOMAIN - 改變一個域的定義
ALTER DOMAIN name
{ SET DEFAULT expression | DROP DEFAULT }
ALTER DOMAIN name
{ SET | DROP } NOT NULL
ALTER DOMAIN name
ADD domain_constraint
ALTER DOMAIN name
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
ALTER DOMAIN name
OWNER TO new_owner
ALTER DOMAIN 修改一個現有域的定義。 它有幾種子形式:
SET/DROP DEFAULT
這些形式設定或者刪除一個域的預設值。請注意預設只適用於隨後的 INSERT 命令;他們並不影響使用該域已經在表中的行。
SET/DROP NOT NULL
這些形式改變一個域是否標記為允許 NULL 值或者是拒絕 NULL 值。 在使用域的欄位包含非空的值的時候,你只可以 SET NOT NULL。
ADD domain_constraint
這種形式向域中增加一種新的約束,使用的語法和 CREATE DOMAIN [create_domain(7)] 一樣。這樣做只有在所有使用域的欄位滿足新的約束的條件下才能成功。
DROP CONSTRAINT
這種形式刪除一個域上的約束。
OWNER |
這種形式把域的所有者改變為另外一個使用者。 |
要使用 ALTER DOMAIN,你必須擁有該域;但是使用 ALTER DOMAIN OWNER 的時候你必須是資料庫超級使用者。
name |
一個要修改的現有域的名字(可以有模式修飾)。 |
domain_constraint
域的新的域約束。
constraint_name
要刪除的現有約束。
CASCADE
自動刪除依賴這個物件的約束。
RESTRICT
如果有任何依賴物件,則拒絕刪除約束。這是預設行為。
new_owner
域的新所有者的使用者名稱。
給一個域增加一個 NOT NULL 約束:
ALTER DOMAIN zipcode SET NOT NULL;
從一個域裡刪除一個 NOT NULL 約束:
ALTER DOMAIN zipcode DROP NOT NULL;
給一個域裡增加一個檢查約束:
ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
從一個域裡刪除一個檢查約束:
ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
ALTER DOMAIN 語句與 SQL99 相容,除 OWNER 變種之外,這個變種是 PostgreSQL 的擴充套件。
Postgresql 中文網站 何偉平 <laser AT pgsqldb DOT org>
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh