WEB开发网
开发学院数据库Oracle Oracle数据库的完整性约束规则详解 阅读

Oracle数据库的完整性约束规则详解

 2007-05-11 12:22:07 来源:WEB开发网   
核心提示: Check约束可以被创建或增加为一个表约束,当Check约束保护多个数据列时,Oracle数据库的完整性约束规则详解(2),必须使用表约束语法,约束名是可选的并且如果这个名字不存在,可以使用ALTER TABLE语句修改,语法:column_name data_type CONSTRAIN

Check约束可以被创建或增加为一个表约束,当Check约束保护多个数据列时,必须使用表约束语法。约束名是可选的并且如果这个名字不存在,那么oracle将产生一个以SYS_开始的唯一的名字。例:

CREATE TABLE policies
(policy_id NUMBER,
holder_name VARCHAR2(40),
gender VARCHAR2(1) constraint chk_gender CHECK (gender in ('M','F'),
marital_status VARCHAR2(1),
date_of_birth DATE,
constraint chk_marital CHECK (marital_status in('S','M','D','W'))
);

NOT NULL约束

NOT NULL约束应用在单一的数据列上,并且他保护的数据列必须要有数据值。缺省状况下,ORACLE允许任何列都可以有NULL值。某些商业规则要求某数据列必须要有值,NOT NULL约束将确保该列的所有数据行都有值。例:

CREATE TABLE policies
(policy_id NUMBER,
holder_name VARCHAR2(40) NOT NULL,
gender VARCHAR2(1),
marital_status VARCHAR2(1),
date_of_birth DATE NOT NULL
);

对于NOT NULL的ALTER TABLE语句与其他约束稍微有点不同。

ALTER TABLE policies MODIFY holder_name NOT NULL

唯一性约束(Unique constraint)

唯一性约束可以保护表中多个数据列,保证在保护的数据列中任何两行的数据都不相同。唯一性约束与表一起创建,在唯一性约束创建后,可以使用ALTER TABLE语句修改。语法:

column_name data_type CONSTRAINT constraint_name UNIQUE

如果唯一性约束保护多个数据列,那么唯一性约束要作为表约束增加。语法如下:

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 数据库 完整性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接