在插入/更新发生之前触发更改数据,然后继续

时间:2018-06-15 09:50:20

标签: tsql

我试图在插入/更新发生之前更改数据,以下内容将描述我想要完成的内容,我只是不知道如何。

mySelectNumberTest2

我知道伪表12可用,但我不知道如何处理不同的触发器(插入或更新)。

我该如何继续?

1 个答案:

答案 0 :(得分:0)

触发AFTER INSERT/UPDATE而不是INSTEAD OF,因此您只需要在事后更新值,而不需要重做原始插入或更新操作。

CREATE TRIGGER [my trigger] ON [dbo].[my table] 
    AFTER INSERT, UPDATE 
AS
BEGIN

    IF UPDATE(Columnx)
    BEGIN

        UPDATE T SET
            ColumnY = 'New Value'
        FROM
            [dbo].[my table] AS T
            INNER JOIN inserted AS I ON T.KeyColumn = I.KeyColumn
        WHERE
            I.ColumnX = 'Value To Check'

    END

END