WEB开发网
开发学院数据库MSSQL Server 在SQL Server中使用检查约束来验证数据 阅读

在SQL Server中使用检查约束来验证数据

 2009-05-09 10:28:44 来源:WEB开发网   
核心提示: 创建多个字段约束你没有必要创建只能检查一个单独字段的值的约束,你可以创建一次检查多个字段中的值的约束,在SQL Server中使用检查约束来验证数据(4),例如,如果我想创建一个检查上面所创建的Salary和SalaryType约束的单独约束,我使用下面的ADD CONSTRAINT子句:

创建多个字段约束

你没有必要创建只能检查一个单独字段的值的约束。你可以创建一次检查多个字段中的值的约束。例如,如果我想创建一个检查上面所创建的Salary和SalaryType约束的单独约束,那么可以使用下面的代码:

      ALTER TABLE dbo.Payroll WITH NOCHECK
  ADD CONSTRAINT CK_Payroll_Salary_N_SalaryType

  CHECK (SalaryType in ('Hourly','Monthly','Annual')

  and Salary > 10.00 and Salary < 150000.00);

这个单独约束所做的事情和上面两个约束一样。记住,当你这么做时,要了解是SalaryType 、Salary 还是两个字段都违反了你的检查约束就更很困难了。.

前一个例子的另一个方法是在不只一个的字段中使用这个值,从而确定某一指定字段值是否是有效的。例如,假设我想确保当我输入一个“Hourly” SalaryType时,我希望Salary小于$100.00,或输入“Monthly” SalaryType时,Salary不超过$10,000,而当输入一个“Annual” SalaryType时任何Salary数值都可以。要实现这个约束,我使用下面的ADD CONSTRAINT子句:

      ALTER TABLE dbo.Payroll WITH NOCHECK
  ADD CONSTRAINT CK_Payroll_SalaryType_Based_On_Salary

  CHECK ((SalaryType = 'Hourly' and Salary < 100.00) or

  (SalaryType = 'Monthly' and Salary < 10000.00) or

  (SalaryType = 'Annual'));

这里,我将多个字段条件一起使用并使用一个“or”条件来分隔它们,所以我的检查约束可以验证每个不同的SalaryType的Salary数量。

上一页  1 2 3 4 5  下一页

Tags:SQL Server 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接