Triggers multiples

Selon le SGBD courant choisi, vous avez la possibilité de définir plusieurs triggers du même type (moment et événement) pour une table particulière. Les triggers de même type sont les triggers qui sont appelés par le même événement d'insertion, modification ou suppression.

Exemple

Prenons l'exemple d'une société qui crée de nombreux emplois dans des postes différents. Vous souhaitez faire en sorte que chacun de ces nouveaux employés perçoive un salaire figurant dans la fourchette de salaires des autres employés occupant la même fonction, mais inférieur à ceux de leur responsable respectif.

Dans la table SALARIE, vous créez deux triggers BeforeInsert, tibTestSal1_SALARIE pour vérifier que le salaire proposé appartient bien à la fourchette appropriée, et tibTestSal2_SALARIE pour vérifier que ce salaire est inférieur à celui des responsables hiérarchiques respectifs de chaque salarié.

create trigger tibTestSal1 before insert order 1 on SALARIE
referencing new as new_ins for each row
begin
    
   [Code du trigger]
   
end

create trigger tibTestSalry2 before insert order 2 on SALARIE
begin
    
   [Code du trigger]
   
end

Vous pouvez indiquer, pour une table particulière, l'ordre d'exécution (déclenchement) des triggers au sein d'un groupe de triggers du même type.