Hvordan sløyfe i MySQL lagret prosedyre

Hvordan sløyfe i MySQL lagret prosedyre
En sløyfekonstruksjon i SQL og større programmeringsspråk refererer til en konstruksjon som gjentatte ganger utfører instruksjoner forutsatt at den spesifiserte tilstanden er sann. Settet med instruksjoner utført i en løkke kan være en enkelt spørring eller en samling kommandoer som fører til et større spørringssett.

I denne opplæringen vil vi diskutere hvordan vi kan implementere en MySQL -sløyfe innen en prosedyre.

For denne opplæringen antar vi at du er klar over hvordan du jobber med MySQL -prosedyrene.

Funksjoner i mysql loop

Før vi dykker inn i "hvordan" med å implementere en MySQL -loop, la oss liste opp flere løkkefunksjoner:

  1. En sløyfe kan inneholde mer enn én uttalelse der hver uttalelse avsluttes med en semikolon.
  2. Alle utsagnene og verdiene inne i løkken blir kontinuerlig utført, men bare hvis den faste tilstanden er sann.
  3. Du kan avslutte en sløyfe ved å bruke permisjonserklæringen.
  4. MySQL lar deg oppgi et navn til sløyfen ved hjelp av syntaks -loopname: loop

Grunnleggende bruk

Den generelle syntaksen for implementering av en enkel MySQL -sløyfe er:

[BEGIN_LABEL:] LOOP
Statement_list
End Loop [end_label]

Uttalelseslisten skal også inneholde en permisjonsbetingelse som spesifiserer når sløyfen skal avsluttes.

Etiketten representerer navnet på loopen.

Syntaksen nedenfor viser loopimplementeringen med en permisjonserklæring:

[navn]: loop
Statement_list;
Hvis tilstand da
La [etiketten];
SLUTT OM;
End Loop [end_label];

Eksempel Bruk sak

I denne delen vil jeg prøve å illustrere hvordan du bruker en løkke i en prosedyre. Hensikten med prosedyren er å implementere en enkel sløyfe og vil ikke gjenspeile data fra den virkelige verden.

Tenk på prosedyren nedenfor som implementerer en løkke for å finne jevnnumre:

Slippprosedyre hvis eksisterer loopme;
Avgrensning $$
Opprett prosedyre Loopme ()
BEGYNNE
Erklære at jeg int;
Sett I = 1;
Set @str = ";
iterateme: loop
Hvis jeg> 10 da
Forlate iterateme;
SLUTT OM;
Sett I = i + 1;
Hvis (jeg mod 2) da
Iterate iterateme;
ELLERS
Set @str = concat ( @str, i, ");
SLUTT OM;
Endesløyfe;
Velg @str som jevn;
End $$
Avgrensning;
Ring Loopme ()

Når vi har kalt loopen, får vi verdiene til jevnt tall atskilt med mellomrom som spesifisert i Concat () -funksjonen.

Konklusjon

I denne opplæringen dekket vi det grunnleggende om å bruke en MySQL -loop for å iterere gjennom et sett med instruksjoner. MySQL -løkker utfører på samme måte som løkker i andre programmeringsspråk som Python, C ++ og JavaScript.