Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Не може да се използва SIGNAL в Trigger

set message_text клаузата е част от синтаксиса на сигнала - не трябва да има точка и запетая (; ) между тях. Освен това използва = оператор, а не := :

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. текуща средна стойност в mysql

  2. Gettext или превод на база данни

  3. синтактична грешка за mysql декларация на променлива

  4. Изчисляване на общия размер на данните на BLOB колона в таблица

  5. MySQL INSERT INTO ... СТОЙНОСТИ и SELECT