---兩個都不太對.create trigger noupdate on bs_code for update as if update(bscode)begin if (select sum(1)from a) =(select sum(1) from b where id=(select id from a) raiserror 33333 'a和b~当a中的code中的数与b中的code中的数据一样时,则a不进行更新' rollback return end
以上改為 if (select sum(1)from a) =(select sum(1) from b where id in ( select id from a)
if (select sum(1)from a) =(select sum(1) from b where id in ( select id from a))
怎么沒有事物結束呀﹕commit transaction
end 下面還有其它語句, 如果,if不成立,執行以下 .....commit transaction
恩~我自己理解错误了~要建立个变量来弄的~谢谢大家了。. Declaer @code1 char(6),@code2 clar(6) select @code1=code from delete select @code2=code from insert if @code1<>@code2 BEGIN IF EXISTS(SELECT * FROM B WHERE bs_code=@bs_code0) BEGIN RAISERROR ('不能修改!', 16,1) RETURN END END 结帖子拉.
on bs_code for update
as if update(bscode)begin
if (select sum(1)from a) =(select sum(1) from b where id=(select id from a)
raiserror 33333 'a和b~当a中的code中的数与b中的code中的数据一样时,则a不进行更新'
rollback
return
end
Declaer @code1 char(6),@code2 clar(6)
select @code1=code from delete
select @code2=code from insert
if @code1<>@code2
BEGIN
IF EXISTS(SELECT * FROM B WHERE bs_code=@bs_code0)
BEGIN
RAISERROR ('不能修改!', 16,1)
RETURN
END
END
结帖子拉.