sql >> Database teknologi >  >> RDS >> Mysql

Mysql dynamisk trigger oprettelse i lagret procedure

Karthikeyan,

Du kan ikke oprette en trigger inde i lagret procedure. Trigger er en DDL-sætning, som ikke er tilladt i procedurer.

" FEJL 1303 (2F003):Kan ikke oprette en TRIGGER fra en anden lagret rutine "

For at løse dit formål kan du gøre følgende:

  • Tag aktuelle værdier fra tabel inde i variabel.

  • Du skal blot skrive en opdateringsforespørgsel i din procedure, og derefter kontrollere, om værdien er opdateret eller ej med "ROW_COUNT()".

  • Sammenlign ny værdi med gammel værdi, ændret og indsæt derefter manuelt i change_log-tabellen.




  1. Hvordan indstiller jeg et SQL Server-scripts timeout inde fra scriptet?

  2. Hvordan indlæser jeg Individual Div uden at indlæse hele siden og vise indlæsningsstatus?

  3. Måling af forespørgselsydeevne:Eksekveringsplan forespørgselsomkostninger vs. brugt tid

  4. mysql automatisk inkrement fejl