Create a trigger that inserts values into a new table when a column is updated

后端 未结 4 1176
我在风中等你
我在风中等你 2021-02-03 11:21

I\'ve been looking at some previous answers on triggers on here but can\'t find what I need exactly but I\'m sure my question has been asked/answered before.

I\'m tryin

4条回答
  •  醉话见心
    2021-02-03 12:16

    CREATE TRIGGER [dbo].[TRIG_MyTable]
    ON [dbo].[MyTable]
    AFTER INSERT, UPDATE
    
    AS 
    
    DECLARE @INS int, @DEL int
    
    SELECT @INS = COUNT(*) FROM INSERTED
    SELECT @DEL = COUNT(*) FROM DELETED
    
    IF @INS > 0 AND @DEL > 0 
    BEGIN
    
        -- a record got updated, so log accordingly.
    
        INSERT INTO MyLogTable
        SELECT 'New Values', getdate() FROM INSERTED
    
        INSERT INTO MyLogTable
        SELECT 'Old Values', getdate() FROM DELETED
    
    END
    
    ELSE 
    BEGIN
    
        -- a new record was inserted.
    
        INSERT INTO MyLogTable
        SELECT 'Insert', getdate() FROM INSERTED
    
    END
    

提交回复
热议问题