table of contents
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>
2003-11-02 | SQL - Language Statements |