Hic avec le fait que COUNT() ne retourne pas 0 quand aucun résultat
Bonjour à tous!
Je suis en train de créer un trigger qui permet de générer un champ en concaténant 3 autres champs et un incrément qui indique le nombre d'éléments existants déjà pour un champ donné.
Code:
1 2 3 4 5 6
|
BEGIN
DECLARE nb INT;
SET nb = (SELECT IFNULL(count(*),0) FROM `VPLS_aggregation` WHERE `id_ORT` = NEW.`id_ORT` GROUP BY `id_ORT`);
SET NEW.`VPLS_ID_aggregation` = CONCAT("21188", LPAD(NEW.`id_ORT`,2,0), LPAD(nb,2,0));
END |
Le trigger fonctionne bien sauf quand le count(*) retourne.... rien.
En effet, le count() ne retourne pas 0 s'il ne trouve aucune ligne....
PI: J'ai essayé en créant une "self" jointure en vain...
Comment contourner ce problème?
Merci à vous!