一个关于触发器的问题?(菜鸟问题)
三个表A(BIllNo,Goods,Qty),B(Goods,Qty),C
在向A中插入记录时触发,同时将该记录插入B中
条件是:
1:if 插入的Goods在B中已经存在,则B中的Qty=inserted.Qty+B.qty
2:if 插入的Goods在B中不存在,则在B中插入一条新的记录
我该怎么写?
谢谢各位老大的帮忙!
问题点数:20、回复次数:3Top
1 楼OpenVMS(半知半解)回复于 2002-05-25 21:19:58 得分 7
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 inserted
GO
Top
2 楼hycao(海草)回复于 2002-05-25 21:48:52 得分 6
CREATE TRIGGER mytrigger ON [A]
FOR INSERT
AS
IF 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.GoodsTop
3 楼lyqof908(我思固我在)回复于 2002-05-25 22:45:31 得分 7
已给你发消息,请查收。Top




