ALTER TRIGGER [dbo].[killertrigg]
ON [dbo].[tbl_pvporderview]
AFTER UPDATE
AS
IF (UPDATE([Kill]))
BEGIN
SET NOCOUNT ON;
INSERT killer(serial,[Kill])
SELECT i.serial,i.[Kill] FROM inserted AS i
INNER JOIN deleted AS d
ON i.serial = d.serial
AND i.[Kill] <> d.[Kill] AND i.[Kill] > 0;
END
但是,如果表中已经存在序列号,如果我希望它更新,我该怎么办killer
。可以先更新,如果它返回 rowcount 0/null 然后插入,但我被卡在 WHERE - 因为我不能i.serial = d.serial
用来比较那里。
将触发器更改为 BEFORE UPDATE 怎么样?这样您就可以在采取任何行动之前检查这些值。
编辑
好的,所以我想我了解您要做什么。这个怎么样: