Récupération de résultats dans plusieurs variables avec une seule requête dans un TRIGGER
Bonjour,
J'ai le trigger suivant :
Code:
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 ; |
J'aimerais savoir si je peux n’exécuter qu'une seule fois la requête avec une instruction de ce genre-là :
Code:
1 2
|
SET var1, var2, var3, var4 = (SELECT t.lib1, t.lib2, t.lib3, t.lib4 FROM une_table t WHERE t.id=46); |
Ce trigger est appelé extrêmement souvent, donc j'aimerais l'optimiser même si la première solution fonctionne.