CREATE Trigger Syntaxe IF THEN END IF;
big-66
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Mutating -
Mutating -
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
|
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
|
A voir également:
- CREATE Trigger Syntaxe IF THEN END IF;
- Exemple planning 1 week-end sur 3 - Télécharger - Outils professionnels
- Miswiring check wiring then power on - Forum Autoradio
- If exist ✓ - Forum Autoit / batch
- IF EXIST dans un ".bat" - Forum Programmation
- Planning sur 7j pour 3 employés en 35h - Forum Excel
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;
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;