假设我有一张这样的桌子:
CREATE TABLE [A]
(
[X] INT,
[Y] INT,
[Z] INT
)
..这有一个而不是更新触发器。如果我在此表中插入一行:
INSERT INTO [A]
SELECT 1, 1, 1
然后我用这样的代码点击更新触发器:
UPDATE [A]
SET [X] = 2
WHERE [X] = 1
我最终会得到一个 [deleted] 表,如下所示:
X:1,Y:1,Z:1
我最终会得到一个像这样的 [插入] 表:
X:2,Y:1,Z:1
有什么方法可以确定实际上只设置了 X 吗?换句话说,我如何区分:
UPDATE [A]
SET
[X] = 2,
[Y] = 1,
[Z] = 1
WHERE [X] = 1
...以及上面的声明?
注意:SQL Server 2008