Bonjour,
J'ai le trigger suivant :
J'aimerais savoir si je peux n’exécuter qu'une seule fois la requête avec une instruction de ce genre-là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 DELIMITER | CREATE TRIGGER `mon_trigger` AFTER INSERT ON `ma_table` FOR EACH ROW BEGIN DECLARE var1 varchar(50); DECLARE var2 varchar(50); DECLARE var3 varchar(50); DECLARE var4 varchar(50); SET var1 = (SELECT t.lib1 FROM une_table t WHERE t.id=NEW.ma_fk); SET var2 = (SELECT t.lib2 FROM une_table t WHERE t.id=NEW.ma_fk); SET var3 = (SELECT t.lib3 FROM une_table t WHERE t.id=NEW.ma_fk); SET var4 = (SELECT t.lib4 FROM une_table t WHERE t.id=NEW.ma_fk); /* puis utilisation des variables var1, var2, var3 var4...*/ END | DELIMITER ;
Ce trigger est appelé extrêmement souvent, donc j'aimerais l'optimiser même si la première solution fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SET var1, var2, var3, var4 = (SELECT t.lib1, t.lib2, t.lib3, t.lib4 FROM une_table t WHERE t.id=46);
Partager