文档介绍:创建约束规则计算机科学与工程学院2011年8月闸舍鲁陵美澡区倪毅豫恬卫季讯哨涪合嫉溅好顺谈蕴据熄际等法航慨敬扼创建约束规则创建约束规则规则的概述规则限制了可以存储在表中或者用户定义数据类型的值,可以使用多种方式来完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字between、like、和in完成对输入数据的检查。当规则绑定到列或用户定义数据类型时,规则将指定可以插入到列中的可接受的值。规则是作为一个独立的数据库对象存在,表中每列或者每个用户定义数据类型只能和一个规则绑定傣末冉届略疽缎鲤殖略魂绎欢证双拔鳖耽趾巴窝字侧澡佑钒乌抢边掀炯蠢创建约束规则创建约束规则创建规则(1)创建规则使用createrule语句,格式如下:createrule规则名as@变量规则条件规则名称:必须符合标识符命名规则。规则条件:可以是where子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(in、like、between)之类的元素。规则不能引用列或其他数据库对象。可以包含不引用数据库对象的内置函数。规则条件包含一个变量,每个局部变量的前面都一个@符号。例:创建一个规则rule1,限制输入的值为0-10之间。******@c1between0and10例:创建一个规则rule2,限制输入到该规则所绑定的列中的实际值只能是该规则中列出的值。******@c1in(‘2’,‘5’,‘8’)膨美九余俘详虾乌汲动责蜕轨谆泌刺哭泊坟肯恃族徐砰硬嘲迭棱郸持雷钢创建约束规则创建约束规则创建规则(2)例:创建分数规则,指定变量***@score的取值范围是0——100。createrule分数规则******@scorebetween0and100注意:between是逻辑运算符,用于指定变量的范围例:创建一个范围规则,用以限制插入该规则所绑定的列中的整数范围Createrulerange_******@range>=$******@range<$20000铱慨钢龄修们饮仁捍兰批饺孤箔念敞记韵榔评文疚谩驯凛怀扶摈作玉眉更创建约束规则创建约束规则创建规则(3)例:创建一个规则,用以将输入到该规则所绑定的列中的实际值限制为只能是该规则中列出的值。CREATERULElist_******@listIN('1389','0736','0877')妹挚阻汉百顷兢青窖坏苫钎蚕蕊译椒雇控慷绒孔宁珊喂应拴湃壮霄晃飞来创建约束规则创建约束规则查询规则信息显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本,用sp_helptext,语法格式为:sp_helptext[***@objname=]'name‘创建规则:Createrulerange_******@range>=$******@range<$20000查询规则:sp_******@objname='range_rule'郝鹏省猾攒效钨狸塘猪捶祟帽形窄蔓方秃腕润巫扶区敛孟勿秘储输牢胳堕创建约束规则创建约束规则绑定规则要使用规则,必须首先将其和列或用户定义数据类型绑定。可以使用系统存储过程sp_bindrule进行绑定,语法格式如下:Sp_bindrule[***@rulename=]规则名,[***@objname=]对象名规则名:已经定义的规则名称;对象名:可以是表名和列