table of contents
other languages
ALTER DOMAIN(7) | SQL Commands | ALTER DOMAIN(7) |
NAME¶
ALTER DOMAIN - 改變一個域的定義SYNOPSIS¶
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
DESCRIPTION 描述¶
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 的時候你必須是數據庫超級用戶。
PARAMETERS 參數¶
- name
- 一個要修改的現有域的名字(可以有模式修飾)。
- domain_constraint
- 域的新的域約束。
- constraint_name
- 要刪除的現有約束。
- CASCADE
- 自動刪除依賴這個對象的約束。
- RESTRICT
- 如果有任何依賴對象,則拒絕刪除約束。這是缺省行爲。
- new_owner
- 域的新所有者的用戶名。
EXAMPLES 例子¶
給一個域增加一個 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;
COMPATIBILITY 兼容性¶
ALTER DOMAIN 語句與 SQL99 兼容,除 OWNER 變種之外,這個變種是 PostgreSQL 的擴展。譯者¶
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>跋¶
本頁面中文版由中文 man 手冊頁計劃提供。中文 man 手冊頁計劃:../../man-pages-zh/manpages-zh
2003-11-02 | SQL - Language Statements |