创建名为规则的对象。当绑定到列或别名数据类型时,使用规则指定可以插入到列中的可接受的值。
重要提示:
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。建议您改用检查约束。检查约束是使用 CREATE TABLE 或 ALTER TABLE 的 CHECK 关键字创建的。有关详细信息,请参阅 CHECK 约束。
列或别名数据类型只能被绑定一个规则。不过,列可以同时有一个规则以及一个或多个检查约束与其相关联。在这种情况下,将评估所有限制。
Transact-SQL 语法约定
语法
CREATE RULE [ schema_name . ] rule_name
AS condition_expression
[ ]
参数
schema_name
规则所属架构的名称。
rule_name
新规则的名称。规则名称必须符合标识符规则。根据需要,指定规则所有者名称。
condition_expression
定义规则的条件。规则可以是 WHERE 子句中任何有效的表达式,并且可以包括诸如算术运算符、关系运算符和谓词(如 IN、LIKE、BETWEEN)这样的元素。规则不能引用列或其他数据库对象。可以包括不引用数据库对象的内置函数。不能使用用户定义函数。
condition_expression 包括一个变量。每个局部变量的前面都有一个 at 符号 (@)。该表达式引用通过 UPDATE 或 INSERT 语句输入的值。在创建规则时,可以使用任何名称或符号表示值,但第一个字符必须是 at 符号 (@)。
注意:
请避免对使用别名数据类型的表达式创建规则。虽然可以对使用别名数据类型的表达式创建规则,但在将规则绑定到列或别名数据类型后,表达式被引用时将无法对其进行编译。
规则就是你输入数据时必须满足的值。举个例子,假设你定义了性别字段为C(2),也就是说性别为字符型,宽度为2,这个时候如果你没有定义有效性规则,则你输入性别的值是可以输入任意的两个字符,如aa,bb,或者还可以是任意的汉字。但是我们知道性别只能为男或者女,所以需要你对它加以限定,也就是说在你的表中性别这一列只能为男或者女。这个时候规则就可以写成: 性别="男" or 性别="女" 。不知道我解释的你是否明白,不明白还可以问我
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)