|
知识路径: > 信息系统工程技术知识 > 计算机技术知识与网络知识 > 数据库系统 > 完整性约束 >
|
相关知识点:9个
|
|
|
|
相对于非空约束,CHECK约束能更灵活地限制某字段取值的值域。客观地说,非空约束只是CHECK约束的一个特例而已。CHECK约束需要设计一个表达式,某条记录的某(些)字段的值如果使这个表达式为假,则这条记录被禁止;反之则被允许。如果定义一个CHECK约束设计一个字段不为空的表达式,那么效果就跟非空约束一样了。CHECK约束设计的表达式具体应用到某条将要进行操作的记录的某(些)字段时,只有三个值——true、false、unknown,表达式值为false时将要进行的操作被禁止,其他的则允许。在CHECK约束的表达式中有如下要求:
|
|
|
(1)该表达式在使用数据插入或更新操作的值时,必须是可以做出逻辑判断的表达式。
|
|
|
|
|
|
(5)该表达式不可以使用DBMS的伪字段(比如Oracle中的rownum、level等)。
|
|
|
下面语句说明如何在创建表的语句中声明CHECK约束。
|
|
|
|
该语句为表Dept_tab中的Loc字段声明了名为Loc_check1的CHECK约束,这个约束要求Loc字段只能填写北京、上海、广州中的一个,否则操作将被禁止。
|
|
|