Collection Contents 上一页 下一页 PDF

ASA SQL 参考

SQL 语句

CREATE DOMAIN 语句


说明 

此语句用于在数据库中创建域。

语法 

CREATE { DOMAIN | DATATYPE } [ AS ] domain-name data-type
[ [ NOT ] NULL ]
DEFAULT default-value ]
CHECK ( condition ) ]

domain-name :   identifier

data-type :  built-in data typewith precision and scale

参数 

DOMAIN | DATATYPE    建议使用 CREATE DOMAIN 而不是 CREATE DATATYPE,因为 CREATE DOMAIN 是 ANSI/ISO SQL3 术语。

NULL    缺省情况下,域允许 NULL,除非 allow_nulls_by_default 选项设置为 OFF。这个时候,缺省情况下新域不允许 NULL。在域中创建的列可否为空取决于该域的定义设置,而不是引用该列时的 allow_nulls_by_default 选项设置。任何在列定义中显式设置的 NULL 或 NOT NULL 都取代域设置。

CHECK 子句    创建 CHECK 条件时,可以在条件中使用一个带 @ 符号前缀的变量名。如果使用该数据类型定义列,这样的变量将被列名称替换。这使 CHECK 条件可以在数据类型上定义并由任何名称的列使用。

用法 

域是内部数据类型的别名,对有些数据类型,包括精度值和小数位数。它们提高了方便程度并有利于数据库的一致性。

域是数据库中的对象。其名称必须遵守标识符规则。与内部数据类型的名称一样,域名称始终不区分大小写。

创建数据类型的用户自动成为该数据类型的所有者。在 CREATE DATATYPE 语句中不能指定所有者。域名称必须是唯一的,所有用户都可以访问这个数据类型且不必将所有者作为前缀。

域可以有 CHECK 条件和 DEFAULT 值,您可以指示数据类型是否允许 NULL 值。在数据类型上创建的任何列都将继承这些条件和值。在列上显式指定的任何条件或值都取代为数据类型指定的条件或值。

要从数据库中删除数据类型,请使用 DROP 语句。必须是数据类型的所有者或者具有 DBA 权限才能删除域。

权限 

必须有 RESOURCE 权限。

副作用 

自动提交。

另请参见 
标准和兼容性 
示例 

下面的语句创建名为 address 的数据类型,它包含 35 个字符长的字符串并且可以为 NULL。

CREATE DOMAIN address CHAR( 35 ) NULL

下面的语句创建名为 id 的数据类型,它不允许 NULL 并且在缺省情况下自动递增。

CREATE DOMAIN id INT
NOT NULL
DEFAULT AUTOINCREMENT

Collection Contents 上一页 下一页 PDF