alter_domain 中文man頁面
NAME
ALTER DOMAIN - 改變一個(gè)域的定義
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 修改一個(gè)現(xiàn)有域的定義。 它有幾種子形式:
- SET/DROP DEFAULT
這些形式設(shè)置或者刪除一個(gè)域的缺省值。請注意缺省只適用于隨后的 INSERT 命令;他們并不影響使用該域已經(jīng)在表中的行。- SET/DROP NOT NULL
這些形式改變一個(gè)域是否標(biāo)記為允許 NULL 值或者是拒絕 NULL 值。 在使用域的字段包含非空的值的時(shí)候,你只可以 SET NOT NULL。- ADD domain_constraint
這種形式向域中增加一種新的約束,使用的語法和 CREATE DOMAIN [create_domain(7)] 一樣。這樣做只有在所有使用域的字段滿足新的約束的條件下才能成功。- DROP CONSTRAINT
這種形式刪除一個(gè)域上的約束。- OWNER
這種形式把域的所有者改變?yōu)榱硗庖粋€(gè)用戶。
要使用 ALTER DOMAIN,你必須擁有該域;但是使用 ALTER DOMAIN OWNER 的時(shí)候你必須是數(shù)據(jù)庫超級(jí)用戶。
PARAMETERS 參數(shù)
- name
一個(gè)要修改的現(xiàn)有域的名字(可以有模式修飾)。- domain_constraint
域的新的域約束。- constraint_name
要?jiǎng)h除的現(xiàn)有約束。- CASCADE
自動(dòng)刪除依賴這個(gè)對象的約束。- RESTRICT
如果有任何依賴對象,則拒絕刪除約束。這是缺省行為。- new_owner
域的新所有者的用戶名。
EXAMPLES 例子
給一個(gè)域增加一個(gè) NOT NULL 約束:
ALTER DOMAIN zipcode SET NOT NULL;
從一個(gè)域里刪除一個(gè) NOT NULL 約束:
ALTER DOMAIN zipcode DROP NOT NULL;
給一個(gè)域里增加一個(gè)檢查約束:
ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
從一個(gè)域里刪除一個(gè)檢查約束:
ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
#p#
NAME
ALTER DOMAIN - change the definition of a 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 changes the definition of an existing domain. There are several sub-forms:
- SET/DROP DEFAULT
- These forms set or remove the default value for a domain. Note that defaults only apply to subsequent INSERT commands; they do not affect rows already in a table using the domain.
- SET/DROP NOT NULL
- These forms change whether a domain is marked to allow NULL values or to reject NULL values. You may only SET NOT NULL when the columns using the domain contain no null values.
- ADD domain_constraint
- This form adds a new constraint to a domain using the same syntax as CREATE DOMAIN [create_domain(7)]. This will only succeed if all columns using the domain satisfy the new constraint.
- DROP CONSTRAINT
- This form drops constraints on a domain.
- OWNER
- This form changes the owner of the domain to the specified user.
You must own the domain to use ALTER DOMAIN; except for ALTER DOMAIN OWNER, which may only be executed by a superuser.
PARAMETERS
- name
- The name (possibly schema-qualified) of an existing domain to alter.
- domain_constraint
- New domain constraint for the domain.
- constraint_name
- Name of an existing constraint to drop.
- CASCADE
- Automatically drop objects that depend on the constraint.
- RESTRICT
- Refuse to drop the constraint if there are any dependent objects. This is the default behavior.
- new_owner
- The user name of the new owner of the domain.
EXAMPLES
To add a NOT NULL constraint to a domain:
ALTER DOMAIN zipcode SET NOT NULL;
To remove a NOT NULL constraint from a domain:
ALTER DOMAIN zipcode DROP NOT NULL;
To add a check constraint to a domain:
ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
To remove a check constraint from a domain:
ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;