我有一个表A,当修改这个表的prod_ID字段时,把修改的这条数据插入到B表;当修改A表的某条prod_ID=1的数据时同时要更新到B表相对应的prod_ID=1的那条数据中,请问这样的触发器怎么写?谢谢了

解决方案 »

  1.   

    CREATE TRIGGER TRI_UP ON A FOR UPDATE
    AS
      IF UPDATE(prod_ID)
        INSERT B(prod_ID) SELECT prod_ID FROM INSERTED
    当修改A表的某条prod_ID=1的数据时同时要更新到B表相对应的prod_ID=1的那条数据中
    这不明白
      

  2.   

    create trigger my_trig on a for insert , update
    as
    begin  
      if not exists(select 1 from inserted)
      else
         if not exists(select 1 from deleted) 
            insert into B select 你需要的字段 from inserted
         else
            update B set c1 = t.c1 , c2 = t.c2 ... cn = t.cn from inserted t where b.prod_ID = t.prod_ID
    end
      

  3.   


    Create trigger T_trigA_Update
    on A
    for Update
    as
    begin
       set nocount on
          declare @ID int,@A varchar(50),@B varchar(50),@C varchar(50)
          select @ID= prod_ID,@A = A,@B=B,@C=C from inserted
          update B set A= @A,B=@B,C=@C where prod_ID=@ID
    end