a、b两个表的id是不是也是一致的呢?

解决方案 »

  1.   

    ---兩個都不太對.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    
      

  2.   

    以上改為 if (select sum(1)from a) =(select sum(1) from b where id in  ( select id from a)
      

  3.   

    if (select sum(1)from a) =(select sum(1) from b where id in  ( select id from a))
      

  4.   

    怎么沒有事物結束呀﹕commit transaction
      

  5.   

    end 下面還有其它語句, 如果,if不成立,執行以下 .....commit transaction
      

  6.   

    恩~我自己理解错误了~要建立个变量来弄的~谢谢大家了。.
    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
    结帖子拉.