kromm77 icon

TRIGGER SQL SERVER

kromm77 | PRO | 05/15/15 12:27:15 PM UTC | 0 ⭐ | 668 👁️ | Never ⏰ | []
SQL |

1.55 KB

|

None

|

0 👍

/

0 👎

-- ================================================
-- Template generated from Template Explorer using:
-- Create Trigger (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- See additional Create Trigger templates for more
-- examples of different Trigger statements.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
DROP  TRIGGER dbo.TestBase_change 
GO
 
-- =============================================
-- Author:      RDEM
-- Create date: 
-- Description: 
-- =============================================
CREATE TRIGGER dbo.TestBase_change 
   ON  dbo.TestBase 
   AFTER INSERT,DELETE,UPDATE
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    
    -- Insert statements for trigger here
    INSERT INTO dbo.TestBaseVersioningExp(row_type,Id,NewDescription,OldDescription,CreatedAt)
    SELECT 'inserted',a.Id,a.Description,'',a.CreatedAt 
    FROM inserted a 
    WHERE NOT EXISTS (SELECT * FROM deleted WHERE id =a.Id )
    UNION ALL
    SELECT 'deleted',a.Id,'' ,a.Description,a.CreatedAt 
    FROM deleted a
    WHERE NOT EXISTS (SELECT * FROM inserted WHERE id =a.Id )
    UNION ALL
    SELECT 'updated',a.Id,a.Description,b.Description,a.CreatedAt 
    FROM inserted  a JOIN deleted b ON a.Id=b.Id
    WHERE EXISTS (SELECT * FROM deleted WHERE id =a.Id )
END
GO

Comments