I am wondering, is it better to use just one trigger for three events(update, delete and insert) or If i use 3 different triggers for each events? which one is faster and more professional?
I think I can use 'IF Exists' method for each event on one trigger but I am not sure how exactly.
The ideas are:
A)One trigger for all events:
Create trigger trgA
after insert,update,delete on MasterTable
for each row
begin
--insert if exists /*I am not sure how to write this!*/
insert into Table1(Column1) values(new.column1);
--update if exists /*I am not sure how to write this!*/
update Table1
set column1=new.column1
where PrimaryKeyColumn=New.PrimaryKeyColumn;
--Delete if exists /*I am not sure how to write this!*/
delete from Table1
where PrimaryKeyColumn=New.PrimaryKeyColumn;
End
B) three Triggers:
Create trigger trgA
after insert on MasterTable
for each row
begin
END
Create trigger trgA
after delete on MasterTable
for each row
begin
END
Create trigger trgA
after update on MasterTable
for each row
begin
END