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

MySQL (5.7) dropper lagrede procedurer via mysql.proc

Den direkte delete fra procs tabel ser ikke ud til at have en øjeblikkelig virkning i den aktuelle MySQL-session.

flush sætning bruges i MySQL til at få serveren til at genindlæse ting (ændring af privilegier direkte via opdatering/sletning og flush privileges er nok den bedste analogi). Jeg kunne dog ikke finde nogen versioner af flush som ville påvirke de lagrede processer baseret på dokumentationen. Så jeg tror ikke, der er nogen måde at gøre sletningen af ​​den lagrede proc endelig i den aktuelle MySQL-session.

Den virkelige fare ved din direkte sletningstilgang er, at den er afhængig af en udokumenteret funktion i MySQL. Denne funktion kan ændres uden varsel i en fremtidig version af MySQL, hvilket gør en opgradering umulig. Uden faktisk at debugge MySQL selv, er det også meget svært at sige, om din tilgang har nogen utilsigtede bivirkninger.

Af disse grunde vil jeg ikke anbefale at bruge denne tilgang i en produktionskode. Hvis det er en enkeltstående øvelse, så slipper du måske afsted med det.




  1. Hvordan dropper og genbefolkes mysql-databaser?

  2. Rekursiv mysql select?

  3. Slut 4 tabeller i SQL-forespørgsel

  4. SQLite skærer