插入更新触发器如何确定是插入还是更新

我需要在表A上编写一个插入,更新触发器,该操作将从表B的所有行中删除所有行,该表的某一列(例如Desc)的值类似于在表A的列中插入/更新的值(例如Col1)。我将如何编写它,以便同时处理Update和Insert案例。我将如何确定是否为更新或插入执行了触发器。



青春有我
浏览 1261回答 3
3回答

幕布斯7119047

CREATE TRIGGER dbo.TableName_IUDON dbo.TableNameAFTER INSERT, UPDATE, DELETEAS BEGIN    SET NOCOUNT ON;    --    -- Check if this is an INSERT, UPDATE or DELETE Action.    --     DECLARE @action as char(1);    SET @action = 'I'; -- Set Action to Insert by default.    IF EXISTS(SELECT * FROM DELETED)    BEGIN        SET @action =             CASE                WHEN EXISTS(SELECT * FROM INSERTED) THEN 'U' -- Set Action to Updated.                ELSE 'D' -- Set Action to Deleted.                   END    END    ELSE         IF NOT EXISTS(SELECT * FROM INSERTED) RETURN; -- Nothing updated or inserted.    ...    END
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server