sql server中的规则是什么 如何定义?速回有加分!

sql server中的规则是什么 如何定义?速回有加分!,第1张

CREATE RULE (Transact-SQL)

创建名为规则的对象。当绑定到列或别名数据类型时,使用规则指定可以插入到列中的可接受的值。

重要提示:

后续版本的 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 性别="女" 。不知道我解释的你是否明白,不明白还可以问我


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9422353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存