Provided by: manpages-zh_1.5-1_all bug

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>