CREATE TRIGGER tr_tbl_EmpCompetencies
ON [dbo].[tbl_EmpCompetencies]
AFTER UPDATE, DELETE
AS
BEGIN
IF EXISTS (SELECT 1 FROM DELETED) AND NOT EXISTS (SELECT 1 FROM INSERTED)
BEGIN
INSERT INTO [History].[tbl_EmpCompetencies] (
[Action], [ID], [LC_ID], [AppraisalID], [AppraisalTypeID], [EmpNumber],
[EmpRating], [EmpComment], [MgrRating], [MgrComment], [ApprovalStatusID],
[ApproverID], [ModifiedBy], [ModifiedDate], [IsActive])
SELECT
'DELETE', [ID], [LC_ID], [AppraisalID], [AppraisalTypeID], [EmpNumber],
[EmpRating], [EmpComment], [MgrRating], [MgrComment], [ApprovalStatusID],
[ApproverID], [ModifiedBy], [ModifiedDate], [IsActive]
FROM DELETED;
END
-- Handle UPDATE action (log only the updated/new data)
IF EXISTS (SELECT 1 FROM INSERTED) AND EXISTS (SELECT 1 FROM DELETED)
BEGIN
INSERT INTO [History].[tbl_EmpCompetencies] (
[Action], [ID], [LC_ID], [AppraisalID], [AppraisalTypeID], [EmpNumber],
[EmpRating], [EmpComment], [MgrRating], [MgrComment], [ApprovalStatusID],
[ApproverID], [ModifiedBy], [ModifiedDate], [IsActive])
SELECT
'UPDATE', [ID], [LC_ID], [AppraisalID], [AppraisalTypeID], [EmpNumber],
[EmpRating], [EmpComment], [MgrRating], [MgrComment], [ApprovalStatusID],
[ApproverID], [ModifiedBy], [ModifiedDate], [IsActive]
FROM INSERTED;
END
END;
No comments:
Post a Comment