首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为表创建触发器,为什么提示对象不存在?解决思路

2012-03-29 
为表创建触发器,为什么提示对象不存在?建表语句SQL codeuse WSCReviewcreate table RiverBasinRecord(RBR_

为表创建触发器,为什么提示对象不存在?
建表语句

SQL code
use WSCReviewcreate table RiverBasinRecord(RBR_ID int identity not null primary key,RiverBasinType char(2) not null check(RiverBasinType like '%[0-3][1-2%'),FatherRiverBasin int not null,RiverBasinName nvarchar(20) not null,unique(FatherRiverBasin,RiverBasinName))


触发器,目的是insert时候判断FatherRiverBasin的值是不是在RBR_ID中已有相同的,第一次用触发器不知道是不是这样写
SQL code
create trigger tri_insert_RBRon RiverBasinRecordfor insertasif(select RBR_ID from RiverBasinRecord,insertedwhere RiverBasinRecord.RBR_ID=inserted.FatherRiverBasin)=nullbeginraiserror('没有找到所属流域',16,8)rollback transactionendgo


消息 8197,级别 16,状态 4,过程 tri_insert_RBR,第 1 行
对象 'RiverBasinRecord' 不存在,或对此操作无效。

SQL Server新手请教大家

[解决办法]
创建触发器的时候也加上use WSCReview,我怀疑你用的不是同一个数据库
[解决办法]
SQL code
use WSCReviewcreate trigger tri_insert_RBRon RiverBasinRecordfor insertasif(select RBR_ID from RiverBasinRecord,insertedwhere RiverBasinRecord.RBR_ID=inserted.FatherRiverBasin)=nullbeginraiserror('没有找到所属流域',16,8)rollback transactionendgo试试
[解决办法]
探讨

确定表建好了??

[解决办法]
那你 select * from RiverBasinRecord 

试试
[解决办法]
搞到别的数据库去了吧
[解决办法]
先说个题外话。你的if 内 肯定 走不到啊。
没有任何东西 = null。
应该判断 is null或别的

热点排行