CHECK约束
考试要求: 了解     
知识路径:  > 信息系统工程技术知识  > 计算机技术知识与网络知识  > 数据库系统  > 完整性约束


 
       相对于非空约束,CHECK约束能更灵活地限制某字段取值的值域。客观地说,非空约束只是CHECK约束的一个特例而已。CHECK约束需要设计一个表达式,某条记录的某(些)字段的值如果使这个表达式为假,则这条记录被禁止;反之则被允许。如果定义一个CHECK约束设计一个字段不为空的表达式,那么效果就跟非空约束一样了。CHECK约束设计的表达式具体应用到某条将要进行操作的记录的某(些)字段时,只有三个值——true、false、unknown,表达式值为false时将要进行的操作被禁止,其他的则允许。在CHECK约束的表达式中有如下要求:
       (1)该表达式在使用数据插入或更新操作的值时,必须是可以做出逻辑判断的表达式。
       (2)该表达式不可以使用嵌套查询和序列器。
       (3)该表达式不可以使用SQL函数。
       (4)该表达式不可以使用自定义函数。
       (5)该表达式不可以使用DBMS的伪字段(比如Oracle中的rownum、level等)。
       下面语句说明如何在创建表的语句中声明CHECK约束。
       
       该语句为表Dept_tab中的Loc字段声明了名为Loc_check1的CHECK约束,这个约束要求Loc字段只能填写北京、上海、广州中的一个,否则操作将被禁止。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有