sql >> Databáze >  >> RDS >> Mysql

Spouštěcí syntaxe a IF ELSE THEN

pravděpodobně jste zapomněli zadat oddělovač. Udělal jsem také několik dalších změn, jak můžete vidět

delimiter #

create trigger VPLS_nodeB_before_ins_trig before insert on VPLS_nodeB
for each row

BEGIN
DECLARE nb INT default 0;
DECLARE nba INT default 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#

delimiter ;



  1. SQL Injection DROP TABLE nefunguje

  2. zobrazení dat z databáze do html tabulky

  3. Capistrano s PostgreSQL, chyba:k databázi přistupují jiní uživatelé

  4. Kopírovat řádek a všechny jeho 'děti'