sql >> Databasteknik >  >> RDS >> Mysql

Mysql dynamisk trigger skapande i lagrad procedur

Karthikeyan,

Du kan inte skapa en trigger inuti lagrad procedur. Trigger är en DDL-sats som inte är tillåten i procedurer.

" ERROR 1303 (2F003):Kan inte skapa en TRIGGER från en annan lagrad rutin "

För att lösa ditt syfte kan du göra följande:

  • Ta aktuella värden från tabellen inuti variabeln.

  • Skriv helt enkelt en uppdateringsfråga i din procedur och kontrollera sedan om värdet är uppdaterat eller inte med "ROW_COUNT()".

  • Jämför nytt värde med gammalt värde, eller ändrat och infoga sedan manuellt i change_log-tabellen.




  1. Att skapa ett ett till många polymorft förhållande till doktrin

  2. ORA-01031:otillräckliga privilegier vid val av vy

  3. Kan jag i en Oracle-trigger tilldela nytt och gammalt till en rowtype-variabel?

  4. Provider med namnet pipes provider fel 40 kunde inte öppna en anslutning till SQL Server fel 2