IF EXISTS (SELECT name FROM sysobjects
      WHERE name = 'mytrigger' AND type = 'TR')
   DROP TRIGGER mytrigger
GO
CREATE TRIGGER mytrigger
ON A
FOR INSERT 
AS IF inserted.Goods IN (select Goods from B)
update table B
  set Qty=inserted.Qty+Qty
  where Goods=inserted.Goods
ELSE
 insert into B(Goods,Qty)
 select Goods,Qty from insertedGO

解决方案 »

  1.   

    CREATE TRIGGER mytrigger ON [A] 
    FOR INSERT
    ASIF NOT EXISTS(SELECT * FROM B INNER JOIN INSERTED i ON i.Goods = B.Goods)
    INSERT INTO B(Goods, Qty) SELECT Goods, Qty FROM INSERTED
    ELSE
    UPDATE B SET Qty = B.Qty + i.Qty FROM INSERTED i INNER JOIN B ON i.Goods = B.Goods