Mysql
 sql >> Base de données >  >> RDS >> Mysql

Création de déclencheur dynamique MySQL dans une procédure stockée

Karthikeyan,

Vous ne pouvez pas créer de déclencheur dans une procédure stockée. Le déclencheur est une instruction DDL qui n'est pas autorisée dans les procédures.

" ERREUR 1303 (2F003):Impossible de créer un TRIGGER à partir d'une autre routine stockée "

Pour résoudre votre problème, vous pouvez procéder comme suit :

  • Prendre les valeurs actuelles de la table à l'intérieur de la variable.

  • Écrivez simplement une requête de mise à jour dans votre procédure, puis vérifiez si la valeur est mise à jour ou non par "ROW_COUNT()".

  • Comparez la nouvelle valeur avec l'ancienne valeur, puis insérez-la manuellement dans la table change_log.