表的有效性规则包括什么
答案:1 悬赏:50 手机版
解决时间 2021-01-05 06:02
- 提问者网友:轻浮
- 2021-01-04 05:27
表的有效性规则包括什么
最佳答案
- 五星知识达人网友:逐風
- 2021-01-04 06:58
rule
是新规则的名称。规则名称必须符合标识符规则。可以选择是否指定规则所有者的名称。
condition_expression
是定义规则的条件。规则可以是 WHERe 子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(如 IN、LIKE、BETWEEN)之类的元素。规则不能引用列或其它数据库对象。可以包含不引用数据库对象的内置函数。
condition_expression 包含一个变量。每个局部变量的前面都有一个 @ 符号。该表达式引用通过 UPDATE 或 INSERT 语句输入的值。在创建规则时,可以使用任何名称或符号表示值,但第一个字符必须是 @ 符号。
在单个批处理中,CREATE RULE 语句不能与其它 Transact-SQL 语句组合使用。规则不适用于在创建规则时已存在于数据库中的数据,而且规则不能绑定到系统数据类型。规则只能在当前的数据库中创建。创建规则后,执行 sp_bindrule 可将规则绑定到列或用户定义数据类型。
规则必须与列的数据类型兼容。规则不能绑定到 text、image 或 timestamp 列。一定要用单引号 (') 将字符和日期常量引起来,在二进制常量前加 0x。例如,不能将 @value LIKE A% 用作数字列的规则。如果规则与其所绑定的列不兼容,Microsoft? SQL Server? 将在插入值时(而不是在绑定规则时)返回错误信息。
对于用户定义数据类型,只有尝试在该类型的数据库列中插入值,或更新该类型的数据库列时,绑供到该类型的规则才会激活。因为规则不检验变量,所以在向用户定义数据类型的变量赋值时,不要赋予绑定到该数据类型的列的规则所拒绝的值。
若要获得关于规则的报表,请使用 sp_help。若要显示某条规则的文本,请以该规则的名称作为参数来执行存储过程 sp_helptext。若要重命名规则,请使用 sp_rename。
要创建与原有规则同名的新规则,必须在创建新规则之前将原有规则除去(使用 DROP RULE),而在除去规则之前,必须首先解除绑定(使用 sp_unbindrule)。使用 sp_unbindrule 解除规则与列的绑定。
可以在不解除原有绑定的情况下将新规则绑定到列或数据类型;新规则将替代原有规则。绑定到列的规则总是优先于绑定到用户定义数据类型的规则。将规则绑定到列时,该规则将替换已经绑定到该列的用户定义数据类型的规则。但是,将规则绑定到用户定义数据类型时,该规则不会替换绑定到该数据类型的列的规则。下表显示了当将规则绑定到已经存在规则的列和用户定义数据类型时,规则生效的优先顺序。
是新规则的名称。规则名称必须符合标识符规则。可以选择是否指定规则所有者的名称。
condition_expression
是定义规则的条件。规则可以是 WHERe 子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(如 IN、LIKE、BETWEEN)之类的元素。规则不能引用列或其它数据库对象。可以包含不引用数据库对象的内置函数。
condition_expression 包含一个变量。每个局部变量的前面都有一个 @ 符号。该表达式引用通过 UPDATE 或 INSERT 语句输入的值。在创建规则时,可以使用任何名称或符号表示值,但第一个字符必须是 @ 符号。
在单个批处理中,CREATE RULE 语句不能与其它 Transact-SQL 语句组合使用。规则不适用于在创建规则时已存在于数据库中的数据,而且规则不能绑定到系统数据类型。规则只能在当前的数据库中创建。创建规则后,执行 sp_bindrule 可将规则绑定到列或用户定义数据类型。
规则必须与列的数据类型兼容。规则不能绑定到 text、image 或 timestamp 列。一定要用单引号 (') 将字符和日期常量引起来,在二进制常量前加 0x。例如,不能将 @value LIKE A% 用作数字列的规则。如果规则与其所绑定的列不兼容,Microsoft? SQL Server? 将在插入值时(而不是在绑定规则时)返回错误信息。
对于用户定义数据类型,只有尝试在该类型的数据库列中插入值,或更新该类型的数据库列时,绑供到该类型的规则才会激活。因为规则不检验变量,所以在向用户定义数据类型的变量赋值时,不要赋予绑定到该数据类型的列的规则所拒绝的值。
若要获得关于规则的报表,请使用 sp_help。若要显示某条规则的文本,请以该规则的名称作为参数来执行存储过程 sp_helptext。若要重命名规则,请使用 sp_rename。
要创建与原有规则同名的新规则,必须在创建新规则之前将原有规则除去(使用 DROP RULE),而在除去规则之前,必须首先解除绑定(使用 sp_unbindrule)。使用 sp_unbindrule 解除规则与列的绑定。
可以在不解除原有绑定的情况下将新规则绑定到列或数据类型;新规则将替代原有规则。绑定到列的规则总是优先于绑定到用户定义数据类型的规则。将规则绑定到列时,该规则将替换已经绑定到该列的用户定义数据类型的规则。但是,将规则绑定到用户定义数据类型时,该规则不会替换绑定到该数据类型的列的规则。下表显示了当将规则绑定到已经存在规则的列和用户定义数据类型时,规则生效的优先顺序。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯