首页 » SQL Server » SQL Server2008 学习之(五) :规则与约束的用法与联系

SQL Server2008 学习之(五) :规则与约束的用法与联系

原文 http://blog.csdn.net/s1314_JHC/article/details/78532645

2017-11-15 02:02:22阅读(247)

规则和约束都能对数据表中的数据进行限定,较常用,两者之间存在着一些共同性和差异性,易混淆,因此本文着重三点:规则和约束各自的创建、规则和约束的联系、如何解除和删除

1.规则与约束的创建

规则是单独的SQL Server对象,可以关联到表中的一列或多列。在向表的某列插入或更新数据时,用它来限制输入的新值的取值范围。

 创建规则方法:

1.在新建查询中输入下图1内容,进行规则创建

2.按照图2将规则与列进行绑定

3.在编辑数据表的时候,如果含有规则的列检测到输入数据的不规范,则会像图3那样报错。

 SQL <a href=Server2008 学习之(五) :规则与约束的用法与联系" src="http://img.blog.csdn.net/20171114171319969?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvczEzMTRfSkhD/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">


SQL Server2008 学习之(五) :规则与约束的用法与联系

 

 SQL Server2008 学习之(五) :规则与约束的用法与联系

 

说完了规则,接下来介绍约束,约束适用于某一具体列,对该列的取值范围进行一个限定。

新建方法:数据库(以AdventureWorks为例)——>数据表StaffInformation——>下拉菜单“约束”项——>新建约束。这里创建了与规则对应列Age不同的列Agee,因为规则和约束不能用于同一列,否则会报错。

 

SQL Server2008 学习之(五) :规则与约束的用法与联系

 

创建完后,StaffInformation中添加数据的时候就能看到,如果Agee数据不满足约束条件,也会报错。

 

 SQL Server2008 学习之(五) :规则与约束的用法与联系

 

2.规则与约束的关系(以一张图表示,图中说的很清晰明了,故不赘述)

 

SQL Server2008 学习之(五) :规则与约束的用法与联系

 

 

3.规则的解除和删除

由于约束可以直接删除,因此不过多解释。规则是有跟列进行绑定的,因此如果用“droprule age" 这类的表达式删除规则是不可行的,需要用到解除规则的方法。

SQL Server2008 学习之(五) :规则与约束的用法与联系


代码:

sp_unbindrule 'StaffInformation.age'

 

SQL Server2008 学习之(五) :规则与约束的用法与联系

 

之后再执行 

drop rule age   即可删除绑定

 

 

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹