De SQL While loop wordt gebruikt om herhaaldelijk een bepaald stuk SQL-script uit te voeren.
Dit artikel behandelt enkele basisfuncties van de SQL While loop in Microsoft SQL Server, met behulp van voorbeelden.,
SQL While-lus syntaxis
De syntaxis van de SQL-While-lus is als volgt:
1
2
3
4
|
TIJDENS conditie
BEGIN
//SQL-Instructies
END;
|
De while-lus in SQL begint met de TIJDENS het trefwoord gevolgd door de toestand waarin retourneert een Boolean-waarde, d.w.z. de, Waar of niet waar.
De body van de while-lus blijft uitvoeren tenzij de voorwaarde false retourneert. De body van een while lus in SQL begint met een BEGINBLOK en eindigt met een eindblok.,div>
1
2
3
4
5
6
7
8
|
met VERMELDING van @INT count;
SET @count = 1;
TIJDENS @count<= 5
BEGIN
PRINT @count
SET @count = @teller + 1;
END;
|
In het bovenstaande script, we de eerste vermelding van het type integer variabele @graaf en stel de waarde 5.,
vervolgens voeren we een While loop uit die controleert of de waarde van de @count variabele kleiner is dan of gelijk is aan 5. Als de variabele @count een waarde heeft die kleiner is dan of gelijk is aan 5, wordt de inhoud van de lus uitgevoerd en wordt de huidige waarde van de variabele @count afgedrukt op de console.
In de volgende regel wordt de waarde van de @count variabele verhoogd met 1. De While loop blijft doorgaan totdat de waarde van de @ count variabele groter wordt dan 5., Hier is de uitvoer:
records invoegen met SQL While loop
laten we nu eens kijken hoe de SQL While loop wordt gebruikt om dummy records in een databasetabel in te voegen.
hiervoor is een eenvoudige database “CarShop”:
1
|
MAAK een DATABASE CarShop
|
maken We een tabel d.w.z., Auto ‘ s in de CarShop database. De auto ‘ s tabel zal drie kolommen Id, naam en prijs.,
1
2
3
4
5
6
7
|
GEBRUIK CarShop
CREATE TABLE-Auto ‘ s
(
Id INT PRIMAIRE SLEUTEL IDENTITEIT(1,1),
Naam VARCHAR (50) not NULL,
Prijs INT
)
|
Laten we nu gebruik maken van de While-lus in de SQL-invoegen 10 records in de tabel Auto ‘ s., Voer het volgende script uit:
in het bovenstaande script verklaren we opnieuw een variabele @count en initialiseren het met 1. Vervolgens wordt een while loop uitgevoerd totdat de waarde van de @count variabele groter wordt dan 10, wat betekent dat de while loop 10 keer wordt uitgevoerd.
in de body van de while-lus wordt de INSERT query gebruikt om één record in de Cars-tabel in te voegen. Voor de kolom naam wordt de waarde van de variabele @ count toegevoegd met de tekenreeks Car-
. Voor de prijs kolom van de auto ‘ s tabel, de waarde van de @count variabele wordt vermenigvuldigd met 100.,
Als u nu alle records uit de Cars-tabel selecteert met de query “select * FROM Cars”, ziet u de volgende uitvoer:
implementatie van paging met SQL While loop
De while loop kan ook worden gebruikt om paging te implementeren. Paging verwijst naar het weergeven van een subset records uit een gegevenstabel op een bepaald moment.
in het volgende script wordt de while-lus gebruikt om twee records tegelijk uit de Cars-tabel te selecteren., De geselecteerde records worden vervolgens weergegeven in de console-uitvoer:
in het bovenstaande script initialiseren we twee variabelen, namelijk @count en @limit. De beginwaarden voor de @count en @ limit variabelen zijn respectievelijk 0 en 2. De while loop wordt uitgevoerd terwijl de waarde van de @count variabele minder dan 10 blijft.
binnen de while-lus wordt de OFFSET-clausule gebruikt om de eerste n-rijen van de Cars-tabel over te slaan. De volgende clausule FETCH haalt de volgende n records op.
In de eerste iteratie zal de waarde van OFFSET 0 zijn omdat @count 0 is, zullen de eerste twee records worden weergegeven., In de tweede iteratie, omdat de @count variabele de waarde 2 heeft, worden de eerste twee records overgeslagen en worden de records 3 en 4 opgehaald.
op deze manier worden alle records uit de Cars-tabel opgehaald in sets van twee. De uitvoer is als volgt:
In de uitvoer kunt u alle records uit de Cars-tabel zien, afgedrukt in sets van twee op de console.
de CONTINUE en BREAK statements
de CONTINUE statement wordt gebruikt om de controle terug te verschuiven naar het begin van een while lus in SQL., Het BREAK statement wordt gebruikt om de lus te beëindigen.
het volgende script laat zien hoe het vervolg statement in een while-lus gebruikt wordt om de eerste vijf positieve even gehele getallen af te drukken:
in het bovenstaande script wordt de while-lus uitgevoerd totdat de waarde van de @count variabele kleiner of gelijk is aan 10. De beginwaarde van de @ count variabele is 1.
in de body van de lus wordt de waarde van de rest van de @count gedeeld door 2 opgeslagen in de @mod variabele., Als de waarde van de @ count variabele oneven is, zal de rest 1 zijn, en als de rest 0 is, wordt de opdracht doorgaan gebruikt om de controle terug te verschuiven naar het begin van de while lus en wordt de waarde van de @count variabele niet afgedrukt.
anders wordt de waarde van de variabele @count afgedrukt op de console. Hier is de uitvoer van het bovenstaande script:
het volgende voorbeeld toont het gebruik van een BREAK statement., De while-lus in het volgende script zal eindigen na het afdrukken van de eerste vijf gehele getallen:
conclusie
Als u een bepaald SQL-script herhaaldelijk wilt uitvoeren, is de SQL While-lus de juiste keuze. Het artikel legt uit hoe je de SQL While loop in Microsoft SQL Server kunt gebruiken om een verscheidenheid aan taken uit te voeren, variërend van recordinvoeging tot paginering.,
- Auteur
- Laatste Berichten
Bekijk alle berichten van Ben Richardson
- Voeding: BI Waterval Grafieken en Visuals Gecombineerd – 19 januari 2021
- Voeding: BI Voorwaardelijke opmaak en gegevens kleuren in actie – 14 januari 2021
- Power BI: Importeren van gegevens uit SQL Server en MySQL – 12 januari 2021