22,300
社区成员




CREATE TRIGGER [dbo].[update_shouliaolist]
ON [dbo].[shouliaolist]
FOR UPDATE --插入触发
AS
-- 先更新再插入,避免插入后再更新一次
UPDATE Log
SET sl = sl + inserted.sl
FROM Log, inserted
WHERE Log.wuliaohao = inserted.wuliaohao
AND inserted.chufaqi = '1'
INSERT INTO Log
SELECT wuliaohao, sl
FROM inserted
WHERE chufaqi = '1'
AND NOT EXISTS(SELECT *
FROM Log
WHERE Log.wuliaohao = inserted.wuliaohao)
CREATE TRIGGER [dbo].[update_shouliaolist]
ON dbo.ShouLiaoList
AFTER INSERT
AS
BEGIN
--更新后的数据
SELECT
wuliaohao,
SUM(sl) AS sl
INTO
#UpdList
FROM
Inserted
GROUP BY
wuliaohao
UPDATE
aa
SET
aa.sl = aa.sl + b.sl
FROM
[log] aa INNER JOIN #UpdList b ON aa.wuliaohao = b.wuliaohao
INSERT dbo.log(
wuliaohao, sl )
SELECT
wuliaohao, sl
FROM
#UpdList a
WHERE
NOT EXISTS( SELECT * FROM log b WHERE a.wuliaohao = b.wuliaohao )
END
GO
我影响数据是多行。请问如何修改啊。[/quote]