sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Kan inte använda SIGNAL i Trigger

set message_text sats är en del av signalsyntaxen - det ska inte finnas ett semikolon (; ) mellan dem. Dessutom använder den en = operator, inte en := :

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. ORACLE - ORA-01843:inte en giltig månad

  2. Hur man mappar ett entitetsfält vars namn är ett reserverat ord i JPA

  3. Vad är skillnaden mellan strängtyperna VARCHAR(255) och TINYTEXT i MySQL?

  4. Finns det en Oracle som motsvarar SQL Servers OUTPUT INSERTED.*?