CREATE Trigger Syntaxe IF THEN END IF;

Fermé
big-66 Messages postés 7 Date d'inscription dimanche 19 février 2012 Statut Membre Dernière intervention 5 mars 2012 - Modifié par big-66 le 22/02/2012 à 14:38
 Mutating - 23 févr. 2012 à 02:07
Bonjour,

Je suis sous mysql 5.1.36 et j'arrive pas a crée un trigger en mettant la condition if dedans voici un exemple de la syntaxe qui veut pas marcher :
delimiter |
CREATE TRIGGER trg_name AFTER INSERT ON tbl_name
FOR EACH ROW BEGIN
IF id = 1 then

insert into tabl_name2 SET at2 = NEW.at1;
end if ;
END
|

1 réponse

Tu es sûr de pouvoir faire un insert dans une table pendant le trigger déclenché par un insert dans cette même table ?

la décomposition de l'insert est :
1- début de l'insertion
2- début trigger avant
3- corps trigger avant
4- fin trigger avant
5- insertion ligne dans la table
6- début trigger après
7- corps trigger après
8- fin trigger après
9- fin de l'insertion

si tu envoies un insert pendant l'étape 3, tu te retrouves avec un process récursif sans condition d'arrêt :-(... jamais aucune étape 4 ne sera exécutée;
0