Lag lagrede prosedyrer i MySQL

Lag lagrede prosedyrer i MySQL
Lagrede prosedyrer er en brukerdefinert liste over forhåndskompilerte SQL-instruksjoner som beholdes og opereres på forespørsel i en MySQL-databank for å utføre en spesifikk databaseprosess. Dette innebærer at det er sannsynlig å gjenbruke skriptet igjen. En prosedyre har en tittel, et sett med parametere og en uttalelse fra SQL (er), slik at den lagrede prosedyren kan fungere basert på verdien (e) for parameteren som er overført. De lagrede prosedyrene bør utføres ved å bruke samtalefrasen. I denne guiden, la oss utforske litt etter å ha betalt prosessen med å generere nye lagrede prosedyrer i MySQL Create Procedure Clause. Så la oss komme i gang.

Lag lagret prosedyre via arbeidsbenk:

Åpne den nylig installerte MySQL Workbench 8.0 og koble den til root localhost -databasen.

Inne i arbeidsbenken er det en navigatørstang. Under denne navigatørstangen er det et sett med forskjellige funksjoner av MySQL. Det inkluderer en liste over databaser, tabeller, lagrede prosedyrer og mange flere, som du kan se fra bildet.

Når du utforsker alternativet 'tabeller', finner du listen over tabeller i en rutenett. Som vist nedenfor har vi et bord 'sosialt'.

Høyreklikk på alternativet 'lagret prosedyre' og klikk på alternativet 'Opprett lagret prosedyre' som vist på bildet.

Et nytt vindu åpnes, som sett på bildet nedenfor. Du kan endre navnet på den lagrede prosedyren i spørringsområdet ved å fjerne verdien i inverterte komma.

Nå kan du redigere denne spørringen i henhold til ditt ønske. Vi navngir den lagrede prosedyren som 'detalj' mens vi får dataene fra en tabell 'sosial' der verdien i kolonnen 'nettsted' tilsvarer 'Instagram.'Dette betyr at butikkprosedyren, ved utførelse, bare vil vise disse postene fra denne tabellen der' nettstedet 'er' Instagram.'Klikk på Bruk -knappen.

Du får en forhåndsvisningsskjerm der du kan endre eller endre spørringen om nødvendig. Du kan se en full syntaks av den nyopprettede lagrede prosedyren via arbeidsbenken. Klikk på Bruk -knappen for å utføre den.

Hvis det ikke er noen feil i spørringen, vil det fungere riktig som vist nedenfor. Trykk på Fullfør -knappen.

Når du ser på alternativet lagrede prosedyrer og oppdater det, vil det vise deg en nyopprettet prosedyre.

Når du utfører denne prosedyren, vil det vise deg at de eneste postene som har en kolonneverdi på 'nettsted' er 'Instagram' som nedenfor.

Lag lagret prosedyre via kommandolinjeskall:

Åpne kommandolinjeklientskallet til MySQL 8.0 og skriv inn passordet til mysql under.

Anta at vi har en tabell som heter 'Record' i databaseskjemaet 'Data'. La oss sjekke postene over den ved å bruke SELECT -kommandoen som følger:

>> Velg * fra data.ta opp;

Bruk kommandoen 'bruk data' for å bruke databasen der du vil legge til den lagrede prosedyren.

>> Bruk data;

Eksempel 01: Lagret prosedyre uten parametere

For å opprette en prosedyre uten en parameter, må du opprette den med en Create Procedure -kommando foran nøkkelordet 'avgrensning'. Deretter lager vi en prosedyre som heter 'Filter' uten parametere. Den henter alle postene fra tabellen 'Record' der kolonnen 'land' har 'ia' på slutten av verdiene. Prosessen skal avsluttes med nøkkelordet 'End'.

Vi bruker anropsbestemmelsen for å utføre den lagrede prosedyren i kommandolinjen. Når vi kjører samtalekommandoen, har vi resultatene nedenfor. Du kan se at spørringen må hente bare de postene der kolonnen 'land' har 'ia' på slutten av verdiene.

Eksempel 02: Lagret prosedyre med enkeltparameter

Det er på høy tid å generere en prosedyre med en enkelt parameter. For dette, bruk Create Procedure -spørringen som er ledet av nøkkelordet 'avgrenser.'Så vi må lage en prosedyre' Rec 'som tar en verdi som et inngangsargument der i dette eksemplet er variabel' var1 'av en bruker i parametrene. Begynn prosedyren med 'Begynn' nøkkelord. Select -setningen brukes til å hente alle postene fra tabellen 'Record' der kolonnen 'Navn' har samme verdi som i 'var1'. Dette er en matching av poster. Avslutt den lagrede prosedyren med nøkkelordet 'End' etterfulgt av '&&' tegn.

'

Kjør avgrensningsspørsmålet først for den lagrede prosedyren for å gjøre deg klar. Etter det, utfør samtalespørringen etterfulgt av prosedyrenavnet og dens inngangsargumentverdi i seler. Du må bare kjøre kommandoen nedenfor, og du vil få resultatene. Som vi har gitt, 'Zafar' i våre parametere, er det grunnen til at vi etter sammenligningen har fått dette resultatet.

Eksempel 03: Lagret prosedyre med flere parametere

La oss se hvordan prosedyren fungerer når den er utstyrt med flere parametere. Ikke glem å bruke nøkkelordet 'avgrensning' sammen med '&&' tegn. Bruk kommandoen Opprett prosedyre for å opprette en prosedyre 'Ny'. Denne prosedyren vil ta to argumenter i sine parametere e.g. 'var1' og 'var2'. Begynn prosedyren med startbestemmelsen. Nå er det noe nytt. SELECT -klausulen henter igjen alle postene fra tabellen 'Record'. Det første argumentet som er gitt av en bruker vil bli tilpasset kolonnen 'Navn' verdier. På den annen side vil det andre argumentet som er gitt av en bruker bli tilpasset kolonnen 'lands' verdier. Hvis postene stemmer overens, vil den hente alle dataene fra påfølgende rader. Prosedyren vil være ferdig med søkeordet 'End'.

Bruk nøkkelordet for avgrensen til å aktivere prosedyren. Etter det, utfør samtaleklausulen etterfulgt av det lagrede prosedyrenavnet, som er 'nytt' sammen med parameterverdiene. Det fremgår av bildet nedenfor at spørringen bare vil hente posten til tabellen 'Record' der begge verdiene som er lagt inn av brukerkampen.

Konklusjon:

I denne guiden har du lært om de forskjellige måtene å lage en lagret prosedyre i MySQL Workbench og MySQL Command-Line Client Shell E.g., Lagret prosedyre med og uten parametere.