CREATE TRIGGER TrackCustomerUpdates ON AppDta.dbo.Customer FOR INSERT, UPDATE, DELETE AS DECLARE @InsertedCount INT DECLARE @DeletedCount INT SET @InsertedCount = ( SELECT COUNT (*) FROM INSERTED ) SET @DeletedCount = ( SELECT COUNT(*) FROM DELETED ) IF ( @InsertedCount > 0 ) BEGIN INSERT INTO AppDta.dbo.CustUpdLog ( CustId, Action, UpdUser, UpdDateTime ) SELECT CustId, CASE WHEN ( @DeletedCount > 0 ) THEN 'Update' ELSE 'Insert' END, CURRENT_USER, CURRENT_TIMESTAMP FROM INSERTED END ELSE IF ( @DeletedCount > 0 ) BEGIN INSERT INTO AppDta.dbo.CustUpdLog ( CustId, Action, UpdUser, UpdDateTime ) SELECT CustId, 'Delete', CURRENT_USER, CURRENT_TIMESTAMP FROM DELETED END
Данный сценарий выполняет действия: