Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL `BEFORE INSERT TRIGGER` como posso pular a inserção de dados sob condição?


Duas soluções, ambas geram um erro:
  1. Chamar procedimento armazenado inexistente - CALL non_existent_proc()
  2. Use SINAL instrução para gerar o erro (MySQL 5.5).

Exemplo 1:
...
IF @found THEN
  CALL non_existent_proc();
END IF;
...

Exemplo 2:
...
IF @found THEN
  SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Wrong data';`
END IF;
...