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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!