Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen dynamischer MySQL-Trigger in einer gespeicherten Prozedur

Karthikeyan,

Sie können keinen Trigger innerhalb einer gespeicherten Prozedur erstellen. Trigger ist eine DDL-Anweisung, die innerhalb von Prozeduren nicht zulässig ist.

" FEHLER 1303 (2F003):Kann keinen TRIGGER aus einer anderen gespeicherten Routine erstellen "

Um Ihren Zweck zu lösen, können Sie Folgendes tun:

  • Nimm aktuelle Werte aus der Tabelle innerhalb der Variablen.

  • Schreiben Sie einfach eine Aktualisierungsabfrage in Ihre Prozedur und prüfen Sie dann, ob der Wert von "ROW_COUNT()" aktualisiert wird oder nicht.

  • Vergleichen Sie den neuen Wert mit dem alten Wert, der sich geändert hat, und fügen Sie ihn dann manuell in die Tabelle change_log ein.