DATABASE TRIGGER
DATABASE TRIGGER
Summary
- A Trigger executes automatically when data changes.
- It can respond to INSERT, UPDATE, and DELETE events.
-
The
insertedpseudo-table contains new values. -
The
deletedpseudo-table contains old values. - Triggers are commonly used for auditing, validation, logging, and enforcing business rules.
CREATE TABLE Employee
(
EmpID INT PRIMARY KEY,
EmpName VARCHAR(50),
Salary DECIMAL(10,2)
);
INSERT INTO Employee
VALUES
(101, 'Amit', 30000),
(102, 'Rahul', 35000),
(103, 'Priya', 40000);
SELECT * FROM
EMPLOYEE
CREATE TABLE EmployeeAudit
(
AuditID INT IDENTITY(1,1) PRIMARY KEY,
EmpID INT,
OldSalary DECIMAL(10,2),
NewSalary DECIMAL(10,2),
UpdatedDate DATETIME
);
CREATE TRIGGER
CREATE TRIGGER trg_UpdateSalary
ON Employee
AFTER UPDATE
AS
BEGIN
INSERT INTO EmployeeAudit
(
EmpID,
OldSalary,
NewSalary,
UpdatedDate
)
SELECT
d.EmpID,
d.Salary,
i.Salary,
GETDATE()
FROM deleted d
INNER JOIN inserted i
ON d.EmpID = i.EmpID;
END;
UPDATE Employee
SET Salary = 45000
WHERE EmpID = 102;
SELECT * FROM
EmployeeAudit;
ON Employee
AFTER DELETE
AS
BEGIN
PRINT 'Employee Record Deleted';
END;
WHERE EmpID = 101;
Comments
Post a Comment