0

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

0 Answers0