标签:
检查约束(Check Constraint)用来限制一个列的取值范围值范围。例如我们可以限制tblPerson表中字段的年龄只能是0-150之间。
Alter Table {TableName}
Add Constraint {ConstraintName} Check (Boolean_Expression)
如果Boolean_Expression表达式返回true,那么检查约束通过,否则失败。如果Age字段是一个可空字段(Allow Null),那么插入新值的时候改字段的值可以为null。当向Age字段赋Null值得时候,Boolean_Expression返回一个UNKNOWN,同时检查约束允许该值。
下面是示例代码:
Alter Table [Sample].[dbo].[tblPerson] Add Constraint CK_tblPerson_Age Check (Age>0 AND Age < 150)
上面代码增加了一个检查约束,限制Age的取值范围为(0,150),如果运行下面的代码这回得到一个报错:
Insert Into [Sample].[dbo].[tblPerson] Values (6,‘Vishel‘,‘v@v.com‘,1,‘India‘,-1)
Msg 547, Level 16, State 0, Line 2
The INSERT statement conflicted with the CHECK constraint "CK_tblPerson_Age". The conflict occurred in database "Sample", table "dbo.tblPerson", column ‘Age‘.
The statement has been terminated.
如果想删除一个检查约束:
Alter Table {TableName} Drop Constraint {ConstraintName}
下面是示例代码:
Alter Table [Sample].[dbo].[tblPerson] Drop Constraint CK_tblPerson_Age
当然,增加和删除检查约束还可以通过图形化的方式实现。
06 增加检查约束(Adding a check constraint)
标签:
原文地址:http://www.cnblogs.com/kuillldan/p/5135085.html