Site Overlay

SQLShack (Dansk)

SQL-While-løkken bruges til at gentagne gange at udføre et bestemt stykke i en SQL-script.

Denne artikel dækker nogle af de grundlæggende funktioner I S .l Mens loop i Microsoft s .l Server, ved hjælp af eksempler.,

SQL-syntaks for While-løkke

syntaks af SQL, Mens løkke er som følger:

1
2
3
4

, så længe betingelse
BEGYND
//SQL-Sætninger
SLUT;

while-løkken i SQL begynder med, MENS søgeord efterfulgt af den betingelse, som returnerer en Boolesk værdi, dvs, Sandt eller falsk.

kroppen af whilehile loop holder udfører medmindre betingelsen returnerer FALSK. Kroppen af et stykke tid loop I S .l starter med en begynde blok og slutter med en ende blok.,div>

1
2
3
4
5
6
7
8

ANGIVELSE @INT count;
INDSTIL @count = 1;
, MENS @count<= 5
BEGYND
PRINT @count
INDSTIL @count = @count + 1;
SLUT;

I ovenstående script, skal vi først med angivelse af den integer type variabel @tæller, og sæt dens værdi til 5.,

dernæst udfører vi et stykke tid loop, som kontrollerer, om værdien af @count variablen er mindre end eller lig med 5. Hvis @count-variablen har en værdi, der er mindre end eller lig med 5, udføres loopens krop, og den aktuelle værdi af @count-variablen udskrives på konsollen.

i den næste linje øges værdien af @count-variablen med 1. Mens løkken fortsætter med at udføre, indtil værdien af @count-variablen bliver større end 5., Her er output:

Indsætter poster med SQL While-løkken

Lad os nu se på, hvordan SQL While-løkken bruges til at indsætte dummy-poster i en database tabel.

Til dette har vi brug for en simpel database “CarShop”:

1
OPRET DATABASE CarShop

Vi vil oprette en tabel, dvs, Biler i CarShop databasen. Bilerne bordet vil have tre kolonner Id, navn og pris.,

1
2
3
4
5
6
7

BRUG CarShop
CREATE TABLE Biler
(
Id INT PRIMARY KEY IDENTITET(1,1),
Navn VARCHAR (50) NOT NULL,
Pris INT
)

Lad os nu bruge While-løkken i SQL for at indsætte 10 poster i Biler bordet., Udfør følgende script:

i scriptet ovenfor erklærer vi igen en variabel @count og initialiserer den med 1. Dernæst udføres et stykke tid, indtil værdien af @count-variablen bliver større end 10, hvilket betyder, at whilehile-løkken udfører 10 gange.

i kroppen af whilehile-løkken bruges indsæt forespørgslen til at indsætte en post i Cars-tabellen. For kolonnen Navn tilføjes værdien af @count-variablen med strengen Car-. For Priskolonnen i Cars-tabellen multipliceres værdien af @count-variablen med 100.,

Nu, hvis du vælger alle poster fra Biler tabellen med “SELECT * FROM Biler” forespørgsel, skal du se følgende output:

Gennemførelse af personsøgning med SQL While-løkken

while-løkken kan også bruges til at gennemføre en personsøgning. Personsøgning refererer til at vise en delmængde af poster fra en datatabel på et bestemt tidspunkt.

i det følgende script bruges whilehile-løkken til at vælge to poster fra Cars-tabellen ad gangen., De valgte poster vises derefter i konsoludgangen:

i scriptet ovenfor initialiserer vi to variabler, dvs. @count og @limit. De oprindelige værdier for variablerne @count og @limit er henholdsvis 0 og 2. Whilehile-løkken udføres, mens værdien af @count-variablen forbliver mindre end 10.

inde i whilehile-løkken bruges OFFSET-klausulen til at springe over de første n-rækker i Cars-bordet. Hent næste klausul henter de næste n-poster.

i den første iteration vil værdien af OFFSET være 0, da @count er 0, de to første poster vises., I den anden iteration, da @count-variablen har værdien 2, springes de to første poster over, og posterne 3 og 4 hentes.

på denne måde hentes alle poster fra Cars-tabellen i sæt på to. Udgangen er som følger:

i output kan du se alle poster fra Cars-tabellen, trykt i sæt af to på konsollen.

sætningerne fortsæt og bryd

fortsæt sætningen bruges til at flytte kontrollen tilbage til starten af et stykke tid loop i s .l., BREAK-sætningen bruges til at afslutte sløjfen.

følgende script viser, hvordan du bruger Fortsæt-sætningen inde i et stykke tid loop til at udskrive de første fem positive lige heltal:

i scriptet ovenfor udføres whilehile loop, indtil værdien af @count-variablen forbliver mindre end eller lig med 10. Den oprindelige værdi af @count-variablen er 1.

i sløjfens krop gemmes værdien af resten af @ – tællingen divideret med 2 i @mod-variablen., Hvis værdien af @count-variablen er ulige, vil resten være 1, og hvis resten er 0, bruges fortsæt-sætningen til at flytte kontrollen tilbage til starten af whilehile-løkken, og værdien af @count-variablen udskrives ikke.

ellers udskrives værdien af @count-variablen på konsollen. Her er output fra ovenstående script:

følgende eksempel viser brugen af en PAUSESÆTNING., While-løkken i det følgende script vil opsige efter udskrivning af de første fem heltal:

Konklusion

Hvis du ønsker at gentagne gange at udføre en bestemt SQL-script, SQL, Mens løkke er vejen at gå. Artiklen forklarer, hvordan man bruger S .l Mens loop i Microsoft s .l Server til at udføre en række opgaver lige fra Post indsættelse til paginering.,

  • Forfatter
  • Seneste Indlæg
Ben Richardson kører Acuity Uddannelse, en førende leverandør af SQL uddannelse STORBRITANNIEN. Det tilbyder et komplet udvalg af S .l – træning fra introduktionskurser til avanceret administration og data warehousearehouse-træning-Se her for flere detaljer. Acuity har kontorer i London og Guildford, Surrey., Han har også blogs lejlighedsvis på Acuity ‘ s blog
Vis alle indlæg af Ben Richardson

Seneste indlæg af Ben Richardson (se alle)
  • Power BI: Vandfald Diagrammer og Kombineret Visuals – januar 19, 2021
  • Power BI: Betinget formatering og farver data i aktion – 14 januar 2021
  • Power BI: Import af data fra SQL Server og MySQL – januar 12, 2021

Skriv et svar

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