there's one issue with you mode of implementation
the above code will work only if you do single row dml operations because you're assuming that inserted will have only one record at a time
In real scenario it can have multiple reords especially when its a batch operation. So you cant you variables to hold inserted table values. it should be table variable or temporary table. so above statement will become
Insert Into tblAudit
select 'Insert', insertedId, Getdate()
from inserted
Also there's no updated table, it has only inserted and deleted
update is done as combination of delete followed by insert with old values in deleted and new values in inserted
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/