Я хотел бы создать триггер, который считает количество строк с определенным идентификатором (id_ort).Если найдено более 5 строк, мне нужно увеличить переменную.
Синтаксис триггера
BEGIN
DECLARE nb INT;
DECLARE nba INT;
SET nba =0;
SET NEW.`VPLS_ID_NodeB` = CONCAT("21100", LPAD(NEW.`VPLS_ID_NodeB`,4,0));
SET nb = (SELECT COUNT(DISTINCT(`VPLS_ID_aggregation`)) FROM `VPLS_nodeB` WHERE `id_ORT` = NEW.`id_ORT`);
IF(nb > 5) THEN
SET nba = nb + 1;
ELSE
SET nba = nb;
END IF;
SET NEW.`VPLS_ID_aggregation` = CONCAT("21188", LPAD(NEW.`id_ORT`,2,0), LPAD(nba,2,0));
END
Однако, есть ошибка ... Даже если у меня меньше 5 строк, переменная увеличивается каждый раз.
Есть идеи?Может быть, это проблема синтаксиса ...
Большое спасибо!