SQLShack (Dansk)

SQL-WHILE-løkken giver os den fordel, at udføre SQL-sætning(s) flere gange, indtil den angivne betingelse resultatet vise sig at være falsk.

i de følgende afsnit af denne artikel vil vi bruge flere Flo .charts for at forklare begreberne og eksemplerne. Af denne grund vil vi for det første forklare, hvad der er et Flo .diagram kort. Flo .diagrammet er et visuelt geometrisk symbol, der hjælper med at forklare algoritmer visuelt., Flo .diagrammet bruges til blot at designe og dokumentere algoritmerne. I Flo .diagrammet angiver hvert geometrisk symbol forskellige betydninger.

følgende flowchart forklarer den grundlæggende struktur af WHILE-løkken i SQL:

Som du kan se, i hver iteration af den løkke, der er defineret tilstand er markeret, og derefter, ifølge resultatet af den tilstand, den kode flow bestemmes. Hvis resultatet af tilstanden er sandt, udføres s .l-sætningen. Ellers vil kodestrømmen forlade sløjfen., If any SQL statement exists outside the loop, it will be executed.

SQL WHILE loop syntax and example

The syntax of the WHILE loop in SQL looks like as follows:

1
2
3
4

WHILE condition
BEGIN
{…statements…,}
AFSLUT

Efter disse forklaringer, vil vi give et meget simpelt eksempel på en WHILE-løkke i SQL. I eksemplet nedenfor skriver WHILEHILE loop-eksemplet en værdi af variablen ti gange, og derefter afsluttes løkken:

nu håndterer vi examplehile loop-eksemplet linje for linje og undersøger det med detaljer.,

I denne del af koden, erklærer vi en variabel, og vi tildele en initialiserer værdi til det:

1
2

ERKLÆRE @Tæller INT
INDSTIL @Counter=1

Denne del af koden, er en bestemt betingelse, at indtil den variable værdi når til 10, fortsætter løkken og udfører PRINT erklæring., id=”8e8d6aa938″>

1
2
3
4
BEGYND
UDSKRIV ‘counter værdi =” + KONVERTERE([email protected])
INDSTIL @Counter = @Counter + 1
AFSLUT

følgende flowchart illustrerer denne WHILE-løkke eksempel visuelt:

Uendelig SQL WHILE-løkken

I uendelig løkke AKA uendelig løkke, vil den betingelse, vil resultatet aldrig blive falsk, så løkken aldrig slutter, og kan arbejde for evigt., Forestil dig, at vi har et stykke tid loop, og vi øger ikke værdien af variablen. I dette scenario løber løkken uendeligt og slutter aldrig. Nu vil vi realisere dette scenario ved hjælp af følgende eksempel., Vi er nødt til at tage hensyn til én ting, som vi bør ikke glemme, at annullere udførelse af forespørgslen manuelt:

1
2
3
4
5
6
7

ERKLÆRE @Tæller INT
INDSTIL @Counter=1
WHILE ( @Counter <= 10)
BEGYND
UDSKRIV ‘Nogen stopper mig!,’
AFSLUT

I de følgende flowchart, det er indlysende, at værdien af den variabel, der aldrig ændrer sig; derfor, løkken slutter aldrig., Grunden til dette spørgsmål er, at variablen er altid lig med 1, så den betingelse, returnerer true, for hver iteration i løkken:

BREAK-sætning

BREAK-sætningen bruges i SQL-WHILE-løkken for at komme ud af den nuværende iteration af løkken straks, når visse betingelser er opfyldt. I erklæringen generelt om…ELSE bruges til at kontrollere, om tilstanden er opstået eller ej. Se s .l IF-sætningen introduktion og oversigtsartikel for flere detaljer om IF…ELSE-erklæringen.,

følgende eksempel viser brugen af BREAK-sætningen i WHILE-løkken:

I dette eksempel, vi har undersøgt værdien af de variable, og når værdien er lig med eller større end 7, den kode, der er angivet IF…ELSE blok og henrettet PAUSEN erklæring, og så er det ud af løkken, med det samme. Af denne grund viser meddelelsen værdierne for variablen op til 7. Hvis betingelsen for IF…ELSE-erklæringen ikke opfylder, løber løkken, indtil tilstandsresultatet bliver falsk., Følgende flowchart forklarer arbejder logik i PAUSEN erklæring eksempel som visuelt:

FORTSÆT erklæring

FORTSAT sætning bruges i SQL-WHILE-løkken for at forhindre, at den nuværende iteration af løkken, når visse betingelser er opfyldt, og derefter begynder en ny iteration fra begyndelsen af løkken. Antag, at vi ønsker at skrive kun lige numre i et stykke tid loop. For at overvinde dette problem kan vi bruge fortsæt-erklæringen. I det følgende eksempel kontrollerer vi, om variabelværdien er ulige eller lige., Hvis variablen værdien er ulige, den kode ind, HVIS…ELLERS sætningen blokke og øg værdien af den variabel, skal du FORTSÆTTE sætningen og starter en ny iteration:

følgende flowchart forklarer arbejder logik FORTSÆTTE erklæring eksempel som visuelt:

Læsning tabel registreringer gennem WHILE-løkken

I det følgende eksempel, vi vil læse tabellen data, række efter række., For det første vil vi skabe en prøve-tabellen:

I dette trin, vi vil læse alle data rækkevis med hjælp af WHILE-løkken:

I dette eksempel, kan vi læse tabellen rækker via WHILE-løkken. Vi kan også udvikle mere sofistikerede og avancerede sløjfer baseret på vores behov.

konklusion

i denne artikel lærte vi s .l Mens loop med ganske enkle eksempler. Vi virtualiserede og forklarede også eksemplerne med Flo .charts. Mens loop hjælper os med at opnå iterative operationer i s .l Server., Samtidig kan BREAK and CONTINUE udsagn bruges til at styre iteration af WHILEHILE loop I S .l Server.

  • Forfatter
  • Seneste Indlæg
Esat Erkec er en SQL Server-professionelle, der begyndte sin karriere 8+ år siden som en Software-Udvikler. Han er en S .l Server Microsoft Certified Solutions e .pert.
det meste af hans karriere har været fokuseret på S .l Server Database Administration og udvikling., Hans nuværende interesser er i database administration og Business Intelligence. Du kan finde ham på LinkedIn.
Vis alle indlæg af Esat Erkec

Seneste indlæg af Esat Erkec (se alle)
  • Kom godt i gang med SQL Programmering – februar 3, 2021
  • Hvordan man kan læse en gennemførelsesplan med alle detaljer – januar 28, 2021
  • SQL SELECT-TOP erklæring oversigt og eksempler – 25 januar 2021

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *