ms sql入门基础-数据库规则--

ms sql入门基础-数据库规则--

ID:9505053

大小:61.00 KB

页数:7页

时间:2018-05-01

上传者:U-991
ms sql入门基础-数据库规则--_第1页
ms sql入门基础-数据库规则--_第2页
ms sql入门基础-数据库规则--_第3页
ms sql入门基础-数据库规则--_第4页
ms sql入门基础-数据库规则--_第5页
资源描述:

《ms sql入门基础-数据库规则--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

  MSSQL入门基础:数据库规则>>  规则(Rule)就是数据库中对存储在表的列或用户自定义数据类型中的值的规定和限制。规则是单独存储的独立的数据库对象。规则与其作用的表或用户自定义数据类型是相互独立的,即表或用户自定义对象的删除、修改不会对与之相连的规则产生影响。规则和约束可以同时使用,表的列可以有一个规则及多个CHECK约束。规则与CHECK约束很相似,相比之下,使用在ALTERTABLE或CREATETABLE命令中的CHECK约束是更标准的限制列值的方法,但CHECK约束不能直接作用于用户自定义数据类型。  9.2.1创建规则  (1)用CREATERULE命令创建规则  CREATERULE命令用于在当前数据库中创建规则,其语法如下:  CREATERULErule_nameAScondition_expression  其中condition_expression子句是规则的定义。condition_expression子句可以是能用于anager创建规则  在EnterpriseManager中选择数据库对象Rules,单击右键从快捷菜单中选择Nee 系统存储过程进行,也可以直接在图9-2中用右键单击要修改的规则,从快捷菜单中选择重命名(Rename)菜单项,进行名称修改。  (2)用存储过程Sp_helptext查看规则  使用Sp_helptext存储过程可以查看规则的细节,其语法如下:  sp_helptext[objname=]'name'  其中[objname=]'name'子句指明对象的名称,用Sp_helptext存储过程查看的对象可  以是当前数据库中的规则、缺省值、触发器、视图或未加密的存储过程。    例9-5:查看规则hire_date_rule。  execsp_helptexthire_date_rule  运行结果如下:  Text  --------------------------------------------------------------------------------------  createrulehire_date_rule  ashire_date>='1980-01-01'andhire_date<=getdate()  9.2.3规则的绑定与松绑   创建规则后,规则仅仅只是一个存在于数据库中的对象,并未发生作用。需要将规则与数据库表或用户自定义对象联系起来,才能达到创建规则的目的。联系的方法称为绑定。所谓绑定就是指定规则作用于哪个表的哪一列或哪个用户自定义数据类型。表的一列或一个用户自定义数据类型只能与一个规则相绑定,而一个规则可以绑定多对象,这正是规则的魅力所在。解除规则与对象的绑定称为松绑。  (1)用存储过程Sp_bindrule绑定规则  存储过程Sp_bindrule可以绑定一个规则到表的一个列或一个用户自定义数据类型上。其语法如下:  sp_bindrule[rulename=]'rule',  [objname=]'object_name'  [,'futureonly']  各参数说明如下:  [rulename=]'rule'  指定规则名称。  [objname=]'object_name'  指定规则绑定的对象。  'futureonly'   此选项仅在绑定规则到用户自定义数据类型上时才可以使用。当指定此选项时,仅以后使用此用户自定义数据类型的列会应用新规则,而当前已经使用此数据类型的列则不受影响。  例9-6:绑定规则hire_date_rule到用户自定义数据类型hir12下一页>>>>这篇文章来自..,。e_date上。  execsp_bindrulehire_date_rule,hire_date  运行结果如下:  Ruleboundtodatatype.  Thenen(s)ofthespecifieduserdatatype.  例9-7:绑定规则hire_date_rule到用户自定义数据类型hire_date上,带'futureonly'选项。  execsp_bindrulehire_date_rule,hire_date,'futureonly'  运行结果如下:  Ruleboundtodatatype.  例9-8:绑定规则my_rule到orders表的字段order_id。  execsp_bindruleid_rule,'orders.[order_id]'  运行结果如下:  Ruleboundtotablecolumn.   注意:规则对已经输入表中的数据不起作用。  规则所指定的数据类型必须与所绑定的对象的数据类型一致,且规则不能绑定一个数据类型为TEXT、MAGE或TIMESTAMP的列。  与表的列绑定的规则优先于与用户自定义数据类型绑定的列,因此,如果表的列的数据类型与规则A绑定,同时列又与规则B绑定,则以规则B为列的规则。  你可以直接用一个新的规则来绑定列或用户自定义数据类型,而不需要先将其原来绑定的规则解除,系统会将早班规则覆盖。  (2)用存储过程Sp_unbindrule解除规则的绑定  存储过程Sp_unbindrule可解除规则与列或用户自定义数据类型的绑定,其语法如下:  sp_unbindrule[objname=]'object_name'  [,'futureonly']  其中'futureonly'选项同绑定时一样,仅用于用户自定义数据类型,它指定现有的用此用户自定义数据类型定义的列仍然保持与此规则的绑定。如果不指定此项,所有由此用户自定义数据类型定义的列也将随之解除与此规则的绑定。   例9-9:解除规则hire_date_rule与用户自定义数据类型birthday的绑定,带'futureonly'  选项。  execsp_unbindrulebirthday,'futureonly'  运行结果如下:  (1rodatatype.  (3)用EnterpriseManager管理规则的绑定  在EnterpriseManager中,选择要进行绑定设置的规则,单击右键,从快捷菜单中选择Properties选项,即会出现如图9-3所示的规则属性对话框。图中的BindUDTs按钮用于绑定用户自定义数据类型,BindColumns按钮用于绑定表的列。  在图9-3中单击BindUDTs按钮,则出现如图9-4所示的绑定规则到用户自定义数据类型的对话框;单击BindColumns按钮,则出现如图9-5所示的绑定规则到表的列的对话框。    9.2.4删除规则  可以在EnterpriseManager中选择规则,单击右键,从快捷菜单中选择Delete选项删除规则,也可使用DROP RULE命令删除当前数据库中的一个或多个规则。其语法如下:  DROPRULE{rule_name}[,...n]  注意:在删除一个规则前,必须先将与其绑定的对象解除绑定。  例9-10:删除多个规则  droprulemytest1_rule,mytest2_rule  查看全套MSSQL入门基础教程>>>>>上一页12>>>>这篇文章来自..,。

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

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

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