Mysql liste alle lagrede prosedyrer

Mysql liste alle lagrede prosedyrer
"Når du jobber med MySQL -databaser, kan du møte en forekomst der du trenger å liste opp alle lagrede prosedyrer på serveren.”

Dette innlegget vil oppdage de forskjellige metodene du kan bruke for å vise de lagrede prosedyrene som er lagret på en server.

La oss dykke inn.

Metode 1: Bruke kommandoen for showprosedyre Status

Kommandoen Show Procedure Status er den enkleste og vanligste metoden for å hente de lagrede prosedyrene på en server.

Kommandosyntaks er som vist:

Vis prosedyre status [som 'mønster' | Hvor uttrykk]

Når du har kjørt spørringen ovenfor, bør den returnere detaljert informasjon om lagrede prosedyrer, inkludert prosedyrenavn, database, opprettelsesdato, modifiseringsdato og mer.

Husk at kommandoen bare vil returnere de lagrede prosedyrene som den løpende brukeren har privilegier.

Eksempel 1

Ta eksemplet som er vist nedenfor. Kommandoen vil liste opp alle lagrede prosedyrer på serveren som vist:

Vis prosedyrestatus;

Eksempelutgang fra forespørselen ovenfor er som vist:

Skjermbildet ovenfor viser en avkortet output av kommandoen ovenfor. Kommandoen vil typisk returnere andre kolonner som kommentar, karaktersett, sammenslåing, databasesamling og mer.

Eksempel 2

Du kan også begrense søket etter lagrede prosedyrer til en gitt database. Anta for eksempel at vi bare vil vise de lagrede prosedyrene for "Sakila" -databasen. Deretter kan vi bruke WHERE -leddet og passere DB -parameteren som "Sakila".

Tenk på eksemplet som er gitt nedenfor.”

Vis prosedyrestatus
hvor
db = 'Sakila';

I dette tilfellet bør spørringen ovenfor returnere alle lagrede prosedyrer knyttet til Sakila -databasen.

Et eksempelutgang vises nedenfor:

Eksempel 3

Du kan også finne lagrede prosedyrer som samsvarer med et spesifikt navn ved hjelp av lignende operatør. Anta for eksempel at vi ønsker å bestemme de lagrede prosedyrene etter navnetabellen.

Vi kan kjøre uttalelsen som vist nedenfor ”;

Vis prosedyrestatus
som 'tabell%';

Uttalelsen ovenfor skal returnere utdataene:

Metode 2 - Bruke informasjon_schema.rutiner tabell

Den andre metoden du kan bruke til å hente de lagrede prosedyrene i en gitt server, spør om informasjon_schema -databasen.

Rutinetabellen i informasjons_schema -tabellen har informasjonen om de lagrede prosedyrene på en gitt server.

Vi kan kjøre et spørsmål som vist:

plukke ut
Rutine_name, rutine_schema
fra
informasjon_schema.Rutiner r
hvor
Rutine_type = 'prosedyre';

Forespørselen ovenfor skal returnere alle lagrede prosedyrer på serveren som vist:

For å velge de lagrede prosedyrene i en gitt database, kan vi legge til og operatøren og sende rutine_schema til måldatabasen.

For å vise de lagrede prosedyrene i Sakila -databasen, kan vi for eksempel kjøre: for eksempel:

plukke ut
Rutine_name, rutine_schema
fra
informasjon_schema.Rutiner r
hvor
Rutine_type = 'prosedyre'
og rutine_schema = 'Sakila';

Den resulterende utgangen er som vist:

Konklusjon

I denne artikkelen diskuterte vi de forskjellige metodene for å hente de lagrede prosedyrene som er lagret på en gitt server fra kommandolinjen.

Takk for at du leste!!