- ALTER TRIGGERdbo.DimTest_AdutitTrigerONdbo.DimTest
- AFTERINSERT,DELETE,UPDATE
- AS
- BEGIN
- SETNOCOUNTON;declare@tbNamevarchar(256)SELECT@tbName = 'dbo.DimTest'DECLARE@action as varchar(20), @Count int= 0 ;SET@action= 'INSERT';-- Set Action to Insert by default.
- IF EXISTS(SELECT*FROMDELETED)BEGIN
- SET@action=CASE
- WHEN EXISTS(SELECT*FROMINSERTED)THEN'UPDATE'-- Set Action to Updated.
- ELSE'DELETE'-- Set Action to Deleted.
- END
- END
- ELSE
- IF NOT EXISTS(SELECT*FROMINSERTED)RETURN;-- Nothing updated or inserted.
- IF( @action= 'INSERT'or@action='UPDATE')BEGIN
- set@Count= (select count(*)fromINSERTED)END
- IF@action= 'DELETE'BEGIN
- set@Count= (select count(*)fromDELETED)END
- insert intodbo.AuditTableselectgetdate(),CURRENT_USER,Host_name(),null,@tbName,'dim',@action,@Count
- END
- GO
来源: http://www.bubuko.com/infodetail-2083375.html