Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Składnia wyzwalacza i IF ELSE THEN

prawdopodobnie zapomniałeś określić ogranicznika, wprowadziłem też kilka innych zmian, jak widać

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bezpieczna alternatywa dla mysql_real_escape_string? (PHP)

  2. Gdzie znajdują się pliki bazy danych MySQL dla WAMP?

  3. Zaawansowane zapytanie MySql:Aktualizuj tabelę informacjami z innej tabeli

  4. org.hibernate.MappingException:mapowanie właściwości ma nieprawidłową liczbę kolumn w encji ENUM

  5. Pobieranie komunikatu SQLEXCEPTION w procedurach MySQL 5.5.x