Expand|Select|Wrap|Line Numbers
- DECLARE @prevIsActive BIT
- DECLARE @newIsActive BIT
- DECLARE @id BIGINT
- SELECT @newIsActive = IsActive, @id = RecordId
- FROM inserted
- IF UPDATE(IsActive)
- BEGIN
- SELECT @prevIsActive = IsActive FROM deleted
- IF @newIsActive < @prevIsActive
- BEGIN --deactivated
- UPDATE Customers
- SET DeactivatedDate = GETDATE()
- WHERE CustomerId=@id
- END
- ELSE
- BEGIN --activated
- UPDATE Customers
- SET DeactivatedDate = NULL
- WHERE CustomerId=@id
- END
- --Add an entry to the audit table with OpType 6 indicating deactivated and OpType 7 indicating activated.
- INSERT INTO AuditCustomers (CustomerId, OpType, UserId)
- SELECT i.CustomerId, CASE i.IsActive WHEN 1 THEN 7 ELSE 6 END, i.UserId
- FROM Inserted AS i
- INNER JOIN Deleted AS d ON i.CustomerId = d.CustomerId
- WHERE i.IsActive <> d.IsActive
- END