求助SQL触发器更新两个表数据问题
请问,我需要在B表有数据插入,A表的GS不为0且TPYE='2'时,写触发器更B表和C表的qty的值等于A表的GS.注:B表的ID字段有相同的数据,需要加SOURCE_ID字段才能在A表找到唯一的数据,同样在C表也需要加两个以条件才能找到唯一的数据
表结构如下:
A表
ID SOURCE_ID GS QYT
A1 A2 11.5 20
B表
ID SOURCE_ID ORDER_ID ORDER_RTK QTY-1 TPYE QTY
A1 A2 B1 B2 20 2 20
C表
ID ORDER_ID ORDER_RTK QTY-1 TPEY QTY
A1 B1 B2 20 2 20
触发器这样写更新不了,还请指导,谢谢!
CREATE TRIGGER [dbo].[ONT_QTY]
ON [dbo].[B]
FOR INSERT
AS
DECLARE
@ID uniqueidentifier,
@SOURCE_ID uniqueidentifier,
@ORDER_ID uniqueidentifier,
@ORDER_RTK nvarchar(200)
BEGIN
SELECT @ID=ID,@SOURCE_ID=SOURCE_ID,@ORDER_ID=ORDER_ID,@ORDER_RTK=ORDER_RTK
FROM inserted
UPDATE B
SET B.QTY=A.GS
FROM inserted,A
WHERE inserted.ID=A.ID
AND inserted.SOURCE_ID=A.SOURCE_ID
AND B.TYPE='2'
AND A.GS<>'0'
UPDATE C
SET C.QTY=A.GS
FROM inserted,A,C
WHERE inserted.ID=C.ID
AND B.ORDER_ID=C.ORDER_ID
AND A.GS<>'0'
AND C.TPEY='2'
END