SQLShack (Svenska)

SQL medan loop ger oss fördelen att utföra SQL-satsen flera gånger tills det angivna villkoret resultatet visar sig vara falskt.

i följande avsnitt i den här artikeln kommer vi att använda fler flödesscheman för att förklara begreppen och exemplen. Av denna anledning kommer vi för det första att förklara vad som är ett flödesschema kortfattat. Flödesschemat är en visuell geometrisk symbol som hjälper till att förklara algoritmer visuellt., Flödesschemat används för att helt enkelt utforma och dokumentera algoritmerna. I flödesschemat anger varje geometrisk symbol olika betydelser.

följande flödesschema förklarar den väsentliga strukturen för WHILE loop i SQL:

som du kan se kontrolleras det definierade tillståndet i varje iteration av slingan, och sedan bestäms kodflödet enligt resultatet av tillståndet. Om resultatet av villkoret är sant körs SQL-satsen. Annars kommer kodflödet att lämna slingan., 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…,}
END

Efter dessa förklaringar kommer vi att ge ett mycket enkelt exempel på ett tag slinga i SQL. I exemplet nedan skriver WHILE loop-exemplet ett värde av variabeln tio gånger, och sedan kommer slingan att slutföras:

nu hanterar vi WHILE loop-exemplet rad för rad och undersöker det med detaljer.,

i den här delen av koden förklarar vi en variabel, och vi tilldelar ett initieringsvärde till det:

1
2
förklara @Counter int
set @Counter=1

den här delen av koden har ett angivet villkor att tills variabelvärdet når till 10 fortsätter slingan och utför utskriftsutskriften., id=”8e8d6aa938″>

1
2
3
4
börja
Skriv ut ’motvärdet är =’ + konvertera(varchar,@Counter)
SET @Counter = @Counter + 1
end

följande flowchart illustrerar detta medan loop exempel visuellt:

oändlig SQL medan loop

i den oändliga loop aka ändlösa loop, kommer villkoret resultatet aldrig att vara falskt, så slingan slutar aldrig och kan vara arbeta för alltid., Tänk dig att vi har ett tag loop, och vi inte öka värdet på variabeln. I detta scenario går slingan oändligt och slutar aldrig. Nu kommer vi att inse detta scenario med hjälp av följande exempel., Vi måste ta hänsyn till en sak som vi inte bör glömma att avbryta utförandet av frågan manuellt:

1
2
3
4
5
6
7

förklara @Counter int
set @Counter=1
medan ( @Counter <= 10)
börja
Skriv ut ’någon stoppar mig!,’
slut

i följande flödesschema är det uppenbart att variabelns värde aldrig ändras; därför slutar slingan aldrig., Anledningen till det här problemet är att variabeln alltid är lika med 1 Så villkoret returnerar sant för varje iteration av slingan:

BREAK statement

BREAK statement används i SQL medan loop för att avsluta den aktuella iterationen av slingan omedelbart när vissa villkor uppstår. I allmänhet om … annat uttalande används för att kontrollera om villkoret har inträffat eller inte. Se SQL IF-satsens introduktion och översiktsartikel för mer information om if…ELSE-satsen.,

följande exempel visar användningen av BREAK-satsen i WHILE loop:

i det här exemplet har vi kontrollerat värdet på variabeln, och när värdet är lika med eller större än 7, gick koden in i IF…ELSE-blocket och exekverade BREAK-satsen, och så lämnade den omedelbart slingan. Av denna anledning visar meddelandet värdena för variabeln upp till 7. Om villkoret för if … ELSE-uttalandet inte uppfyller, kommer slingan att springa tills tillståndsresultatet blir falskt., Följande flödesschema förklarar ARBETSLOGIKEN I BREAK-satsexemplet som visuellt:

fortsätt-sats

fortsätt-sats används i SQL medan loop för att stoppa den aktuella iterationen av slingan när vissa villkor uppstår, och sedan startar den en ny iteration från början av slingan. Antag att vi bara vill skriva jämnt tal på ett tag slinga. För att övervinna denna fråga kan vi använda fortsätt-uttalandet. I följande exempel kommer vi att kontrollera om variabelvärdet är udda eller jämnt., Om variabelvärdet är udda anger koden statementblocken IF…ELSE och ökar värdet på variabeln, kör continue-satsen och startar en ny iteration:

följande flowchart förklarar arbetslogiken i exemplet fortsätt statement som visuellt:

läser tabellposter genom WHILE loop

i följande exempel läser vi tabelldata, rad för rad., För det första kommer vi att skapa en provtabell:

i det här steget läser vi alla datarader för rad med hjälp av WHILE loop:

i det här exemplet läser vi tabellraderna via WHILE loop. Vi kan också utveckla mer sofistikerade och avancerade loopar baserat på våra behov.

slutsats

i den här artikeln lärde vi oss SQL medan loop med ganska enkla exempel. Vi virtualiserade också och förklarade exemplen med flödesscheman. Medan loop hjälper oss att uppnå iterativa operationer i SQL Server., Samtidigt kan BREAK and CONTINUE-satser användas för att styra iterationen av WHILE loop i SQL Server.

  • författare
  • Senaste inlägg
Esat Erkec är en SQL Server professionell som började sin karriär 8+ år sedan som en programvara utvecklare. Han är en SQL Server Microsoft Certified Solutions Expert.
större delen av sin karriär har fokuserats på SQL Server databasadministration och utveckling., Hans nuvarande intressen är i databasadministration och Business Intelligence. Du kan hitta honom på LinkedIn.
Visa alla inlägg av Esat Erkec

Senaste inlägg av Esat Erkec (se alla)
  • komma igång med SQL – programmering – 3 februari 2021
  • hur man läser en exekveringsplan med alla detaljer – 28 januari 2021
  • SQL SELECT top statement Översikt och exempel-25 januari 2021

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *