创建约束规则计算机科学与工程学院2011年8月规则的概述规则限制了可以存储在表中或者用户定义数据类型的值,可以使用多种方式来完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字between、like、和in完成对输入数据的检查
当规则绑定到列或用户定义数据类型时,规则将指定可以插入到列中的可接受的值
规则是作为一个独立的数据库对象存在,表中每列或者每个用户定义数据类型只能和一个规则绑定创建规则(1)创建规则使用createrule语句,格式如下:createrule规则名as@变量规则条件规则名称:必须符合标识符命名规则
规则条件:可以是where子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(in、like、between)之类的元素
规则不能引用列或其他数据库对象
可以包含不引用数据库对象的内置函数
规则条件包含一个变量,每个局部变量的前面都一个@符号
例:创建一个规则rule1,限制输入的值为0-10之间
createrulerule1as@c1between0and10例:创建一个规则rule2,限制输入到该规则所绑定的列中的实际值只能是该规则中列出的值
createrulerule2as@c1in(‘2’,‘5’,‘8’)创建规则(2)例:创建分数规则,指定变量@score的取值范围是0——100
createrule分数规则as@scorebetween0and100注意:between是逻辑运算符,用于指定变量的范围例:创建一个范围规则,用以限制插入该规则所绑定的列中的整数范围Createrulerange_ruleas@range>=$1000AND@range