我是菜鸟,我创建了一个规则,执行时出现以下问题,请问这是为什么???代码如下:
go
create rule id_rule
as @ id > 0
exec sp_bindrule 'id_rule','book.id'
执行时,出现以下错误,这是为什么?请解释,谢谢!!消息 4145,级别 15,状态 1,过程 id_rule,第 2 行
在应使用条件的上下文(在 'id' 附近)中指定了非布尔类型的表达式。
go
create rule id_rule
as @ id > 0
exec sp_bindrule 'id_rule','book.id'
执行时,出现以下错误,这是为什么?请解释,谢谢!!消息 4145,级别 15,状态 1,过程 id_rule,第 2 行
在应使用条件的上下文(在 'id' 附近)中指定了非布尔类型的表达式。
alter table book
add constraint chk check(id>0)
create rule id_rule
as @id > 0--@ id之间有空格
exec sp_bindrule 'id_rule','book.id'
这会儿又说这样,大哥你看看的。
消息 15148,级别 16,状态 1,过程 sp_bindrule,第 190 行
数据类型或表列 'book.id' 不存在,或您没有所需的权限。
book.id肯定是存在的,我用的是管理权限,怎么可能没有权限呢???
书上关于rule有说明:不能绑定系统数据类型(int,char...不都是系统数据类型么,除了用户自定义数据类型,照书上说,一般的数据还都绑定不了啊);不适用于已存在的数据(能绑定的那个表中就有数据啊,反而不能绑定的那个表中是没有数据的);
请各位高手来给我解惑的。谢谢了。