在sql server中使用检查约束来验证数据--

在sql server中使用检查约束来验证数据--

ID:10331138

大小:61.50 KB

页数:0页

时间:2018-07-06

在sql server中使用检查约束来验证数据--_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《在sql server中使用检查约束来验证数据--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在SQLServer中使用检查约束来验证数据>>  什么是检查约束?  检查约束是一个规则,它确认一个SQLServer表中某条记录中的数据可接受的字段值。检查约束帮助执行域完整性。域完整性定义了一个数据库表中字段的有效值。检查约束可以验证一个单独字段或一些字段的域完整性。你对一个单独的字段可以有多个检查完整性。如果被插入或更新的数据违反了一个检查约束,那么数据库引擎将不允许这个插入或更新的操作发生。  检查约束包括一个逻辑表达式,用以确认什么是有效的表达式。逻辑表达式可能是一个单独的表达式比如Salary<200000.00,或多个表

2、达式,比如RentalDate>GETDATE()andRentalDate<DATEADD(YY,1,GETDATE())。如果一个逻辑表达式的一个检查约束返回了FALSE值,那么这个检查约束将限制这个表中数据插入或更新。对于逻辑表达式返回的是FALSE以外的值的所有记录将通过这个检查约束并允许记录被更新或插入。为了这个记录能够被插入或更新,与给定INSERT或UPDATE语句相关的所有数据都不能进行检查约束失败(返回一个FALSE值)。检查约束可以在字段级别或表级别被创建。  在一个CREATETABLE语句上创建检查约束  

3、创建检查约束的一个方法是在表创建时进行。这是一个简单的CREATETABLE脚本,它创建了一个单独的检查约束:      CREATETABLEdbo.Payroll  (  IDintPRIMARYKEY,  PositionIDINT,  SalaryTypenvarchar(10),  Salarydecimal(9,2)  CHECK(Salary<150000.00)  );  这里我有一个CHECK子句,它与Salary字段关联。这是一个字段级别的约束。如果你创建一个字段级别的约束,那么你在你的检查约束的逻辑表达式中只能使用

4、这个字段名称。这个检查约束只允许Salary字段低于$150,000.00。当我的表创建之后,这个CHECK约束也将被创建,并被赋予一个系统生成的约束名称。如果你想在一个CREATETABLE操作期间命名你的检查约束,那么你可以运行下面的代码:    CREATETABLEdbo.Payroll  (  IDintPRIMARYKEY,  PositionIDINT,  SalaryTypenvarchar(10),  Salarydecimal(9,2)  CONSTRAINTCK_Payroll_SalaryCHECK(Salary<

5、;150000.00)  );  这里我命名了我的检查约束CK_Payroll_Salary。  上面的每个例子都创建了一个单独的条件字段检查约束。一个检查约束表达式可以有多个条件。下面是一个例子,它显示了一个有多个条件的检查约束:       CREATETABLEdbo.Payroll  (  IDintPRIMARYKEY,  PositionIDINT,  SalaryTypenvarchar(10),  Salarydecimal(9,2)  CONSTRAINTCK_Payroll_Salary  CHECK(Salary>

6、10.00andSalary<150000.00)  );  记住,为了让SQLServer拒绝一条记录,这个检查约束的逻辑表达式的最终结果需要是FALSE。因此,在这个例子中,这个检查约束验证了一个Salary大于$10.00并小于$150,000.00。当这个检查约束中的这些条件中的任何一个为FALSE,那么在Payroll表中将不会插入或更新一条记录,并会显示一个错误信息。  如果你想创建一个表级别的检查约束,那么你可以运行下面的代码:      CREATETABLEdbo.Payroll  (  IDintPRIMARYKEY

7、,  PositionIDINT,  Salarydecimal(9,2),  SalaryTypenvarchar(10),  CHECK(Salary>10.00andSalary<150000.00)  );  这里我创建了一个单独的表约束,它检查Salary字段,但是它不是关联到字段,而是关联到这个表。在这个检查约束中我可以使用我的表中的任何字段,只要我想,因为它是一个表检查约束,但是在我的例子中,我只使用了Salary字段。注意,这个CHECK子句将使得SQLServer生成一个检查约束名称,因为我没有给这个约束名称。 

8、 在一个现有的表上创建一个检查约束  有时,在你设计和创建了一个表后,你想对一个表添加一个检查约束。这可以通过使用ALTERTABLE语句来完成。下面是这么做的例子

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。