1
数据库技术及应用
1.7.4.5 4.4.5 CHECK
4.4.5 CHECK

CHECK约束限制输入列或者多列中的可能值,从而保证数据库中数据的域的完整性,一个数据表可以定义多个CHECK约束。

【例4-15】在SC表中对成绩字段设置其取值范围在0~100之间。

1.使用SSMS管理器定义CHECK约束

使用SSMS管理器定义多个CHECK约束,步骤如下:

(1)启动SQL Server Management Studio,在其“对象资源管理器”窗格中依次展开“数据库”节点、Student节点和“表”节点,在dbo.SC上单击鼠标右键,在弹出的快捷菜单中执行“设计”命令,如图4-33所示。

(2)在打开窗口的右上部分,鼠标右键单击字段Grade,在弹出的快捷菜单中执行“CHECK约束”命令,如图4-34所示。

图4-33 执行“设计”命令

图4-34 执行“犆犎犈犆犓约束”命令

(3)打开“CHECK约束”对话框,单击“添加”按钮,在右侧列表框的表达式后面的文本框中输入Grade>=0and Grade<=100,并为标识取一个名字。设置好后单击“关闭”按钮即可,如图4-35所示。

图4-35 设置约束表达式

如果要删除约束,可以在图4-35中选择该约束后单击“删除”按钮。对于CHECK约束还有以下几点需要说明:

(1)可以将多个CHECK约束应用于单个列。

(2)CHECK约束不接受计算结果为False的值。

(3)在执行添加和修改记录语句时验证CHECK约束,删除记录时不验证CHECK约束。

2.使用T-SQL语句创建CHECK约束

定义该约束的基本语句格式如下:

更普遍的做法是在创建SC表时,就把CHECK约束设置写进T-SQL代码中: