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

Criação de gatilho dinâmico do MySQL no procedimento armazenado


Karthikeyan,

Você não pode criar um gatilho dentro do procedimento armazenado. O gatilho é uma instrução DDL que não é permitida dentro dos procedimentos.

" ERRO 1303 (2F003):Não é possível criar um TRIGGER de dentro de outra rotina armazenada "

Para resolver seu propósito, você pode fazer o seguinte:

  • Pegue os valores atuais da tabela dentro da variável.

  • Simplesmente escreva uma consulta de atualização dentro do seu procedimento e verifique se o valor é atualizado ou não por "ROW_COUNT()".

  • Compare o novo valor com o valor antigo, de alterado e insira manualmente na tabela change_log.