Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:SIGNAL kann nicht in Trigger verwendet werden

den set message_text -Klausel ist Teil der Signalsyntax - es sollte kein Semikolon (; ) zwischen ihnen. Außerdem wird ein = verwendet Operator, kein := :

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 ;