使用检查约束验证SQL Server中的数据
2009-04-16 10:27:11 来源:WEB开发网在现有表上创建检查约束
有时,在你设计和创建好表后,你可能想要在表上放一个检查约束,你可以使用ALTERTABLE语句来实现,下面是一个例子:
ALTERTABLEdbo.Payroll
WITHNOCHECKADDCONSTRAINTCK_Payroll_SalaryType
CHECK(SalaryTypein('Hourly','Monthly','Annual'));
我在这里的创建检查约束将会检查Payroll表中SalaryType列的值为“Hourly”,“Monthly”或“Annual”的所有记录,我还给这个检查约束起了一个名字,叫做“CK_Payroll_SalaryType”。
你也可以在一个ALTERTABLE语句中给表添加多个检查约束,下面就是这样一个例子:
ALTERTABLEdbo.Payroll
WITHNOCHECKADDCONSTRAINTCK_Payroll_SalaryType
CHECK(SalaryTypein('Hourly','Monthly','Annual')),
CONSTRAINTCK_Payroll_Salary
CHECK(Salary>10.00andSalary<150000.00);
在这里我在一条ADDCONSTRAINT子句中为SalaryType和Salary这两列同时增加了检查约束。
创建多列约束
不用在每个列上都创建约束,相反,可以在多个列上同时创建一个约束来检查这些列的值,例如,如果我想创建单个约束来检查Salary和SalaryType,那我可能使用如下的代码:
ALTERTABLEdbo.PayrollWITHNOCHECK
ADDCONSTRAINTCK_Payroll_Salary_N_SalaryType
CHECK(SalaryTypein('Hourly','Monthly','Annual')
andSalary>10.00andSalary<150000.00);
更多精彩
赞助商链接