Site Overlay

SQLShack (Svenska)

SQL While loop is used to repeately execute a certain piece of SQL script.

den här artikeln omfattar några av de grundläggande funktionerna i SQL medan loop i Microsoft SQL Server, med hjälp av exempel.,

SQL medan loop syntax

syntaxen för SQL medan loop är som följer:

1
2
3
4

medan skick
börja
//SQL-satser
avsluta;

while loop i SQL börjar med while keyword följt av villkoret som returnerar ett booleskt värde dvs, Sant eller falskt.

kroppen av while loop fortsätter att utföra om inte villkoret returnerar FALSKT. Kroppen av en while loop i SQL börjar med ett startblock och slutar med ett SLUTBLOCK.,div>

1
2
3
4
5
6
7
8

anger @count int;
set @count = 1;
medan @count<= 5
börja
skriv ut @count
set @count = @count + 1;
slut;

i skriptet ovan anger vi först heltalstypvariabeln @count och ställer in dess värde till 5.,

därefter utför vi en While loop som kontrollerar om värdet på @count-variabeln är mindre än eller lika med 5. Om variabeln @count har ett värde som är mindre än eller lika med 5, körs slingans kropp och det aktuella värdet för variabeln @count skrivs ut på konsolen.

i nästa rad ökas värdet för variabeln @count med 1. Medan slingan fortsätter att utföra tills värdet på @count-variabeln blir större än 5., Här är utgången:

infoga poster med SQL medan loop

Låt oss nu se hur SQL medan loop används för att infoga dummy poster i en databastabell.

för detta behöver vi en enkel databas ”CarShop”:

1
skapa databas Carshop

Vi kommer att skapa en tabell dvs, Bilar i CarShop databasen. Tabellen bilar kommer att ha tre kolumner Id, namn och pris.,

1
2
3
4
5
6
7

använd Carshop
skapa bordsbilar
(
id int primär nyckelidentitet(1,1),
namn varchar (50) inte null,
pris int
)

div >

låt oss nu använda while loop i SQL för att infoga 10 poster i tabellen bilar., Utför följande skript:

i skriptet ovan förklarar vi igen en variabel @count och initierar den med 1. Därefter utförs en while loop tills värdet av @count-variabeln blir större än 10, vilket innebär att while loop utför 10 gånger.

i kroppen av while loop används INSERT-frågan för att infoga en post i tabellen bilar. För namnkolumnen läggs värdet på variabeln @count med strängen Car-. För Priskolumnen i tabellen bilar multipliceras värdet av variabeln @count med 100.,

Nu om du väljer alla poster från tabellen bilar med” Välj * från bilar”fråga, bör du se följande utgång:

implementera personsökning med SQL medan loop

medan slingan kan också användas för att implementera personsökning. Personsökning avser att visa en delmängd av poster från en datatabell vid en viss tidpunkt.

i följande skript används while loop för att välja två poster från tabellen bilar åt gången., De valda posterna visas sedan i konsolutgången:

i skriptet ovan initierar vi två variabler, dvs. @count och @limit. De ursprungliga värdena för variablerna @count och @limit är 0 respektive 2. While loop körs medan värdet för @count-variabeln förblir mindre än 10.

inne i while loop används OFFSETKLAUSULEN för att hoppa över de första n-raderna i tabellen bilar. Hämtningen nästa klausul hämtar nästa n poster.

i den första iterationen kommer värdet för OFFSET att vara 0 eftersom @count är 0, de två första posterna visas., I den andra iterationen, eftersom variabeln @count kommer att ha värdet 2, kommer de två första posterna att hoppas över och posterna 3 och 4 kommer att hämtas.

På så sätt hämtas alla poster från tabellen bilar i uppsättningar med två. Utgången är som följer:

i utgången kan du se alla poster från tabellen bilar, tryckt i uppsättningar av två på konsolen.

CONTINUE and BREAK-satserna

continue-satsen används för att flytta kontrollen tillbaka till början av en while-slinga i SQL., BREAK-uttalandet används för att avsluta slingan.

följande skript visar hur du använder continue-satsen inuti en while loop för att skriva ut de första fem positiva jämna heltalen:

i skriptet ovan körs while loop tills värdet på @count-variabeln förblir mindre än eller lika med 10. Det ursprungliga värdet för variabeln @count är 1.

i slingans kropp lagras värdet av resten av @count dividerat med 2 i @mod-variabeln., Om värdet på @count-variabeln är udda kommer resten att vara 1, och om resten är 0 används fortsätt-satsen för att flytta kontrollen tillbaka till början av while loop och värdet på @count-variabeln skrivs inte ut.

annars skrivs värdet på variabeln @count ut på konsolen. Här är utdata från ovanstående skript:

följande exempel visar användningen av en brytning., While loop i följande script avslutas efter att ha skrivit ut de första fem heltal:

slutsats

om du vill upprepade gånger utföra ett visst SQL-skript, är SQL medan loop vägen att gå. Artikeln förklarar hur du använder SQL medan loop i Microsoft SQL Server för att utföra en mängd olika uppgifter som sträcker sig från postinsättning till paginering.,

  • författare
  • Senaste inlägg
Ben Richardson utbildar en ledande leverantör av SQL-utbildning i Storbritannien. Det erbjuder ett komplett utbud av SQL utbildning från inledande kurser till avancerad administration och data warehouse utbildning – se här för mer information. Acuity har kontor i London och Guildford, Surrey., Han bloggar också ibland på Acuitys blogg
Visa alla inlägg av Ben Richardson

Senaste inlägg av Ben Richardson (se alla)
  • Power BI: vattenfall diagram och kombinerade visuella – januari 19, 2021
  • Power BI: Villkorligens formatering och datafärger i aktion – januari 14, 2021
  • Power BI: importera data från SQL Server och MySQL – 12 januari 2021

Lämna ett svar

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