sql >> Database >  >> RDS >> Mysql

MySQL:kan SIGNAL niet gebruiken in Trigger

de set message_text clausule maakt deel uit van de signaalsyntaxis - er mag geen puntkomma staan ​​(; ) tussen hen. Bovendien gebruikt het een = operator, geen := :

DELIMITER $$
CREATE TRIGGER `test_before_insert` BEFORE INSERT ON `Initial_Fees`
FOR EACH ROW
BEGIN
    IF ((SELECT Activation from Portfolio WHERE idPortfolio = New.idPortfolio)=false) THEN
        SIGNAL SQLSTATE '45000' -- Note: no semicolon
        SET MESSAGE_TEXT = 'Disabled Thing'; -- Note the = operator
    END IF;
END$$   
DELIMITER ; 


  1. Waar slaat PostgreSQL configuratie-/conf-bestanden op?

  2. Hoe het actieve aantal open databaseverbindingen in H2/MySQL te vinden?

  3. Belang van WHERE 1 in MySQL-query's

  4. Hoe RandomBlob() werkt in SQLite