Site Overlay

SQLShack (Deutsch)

Die SQL While-Schleife wird verwendet, um wiederholt ein bestimmtes SQL-Skript auszuführen.

Dieser Artikel behandelt einige der grundlegenden Funktionen der SQL While-Schleife in Microsoft SQL Server anhand von Beispielen.,

SQL While loop syntax

Die Syntax der SQL While Schleife ist wie folgt:

1
2
3
4
WHILE condition
BEGIN
//SQL Statements
END;

Die while-Schleife in SQL beginnt mit dem Schlüsselwort WHILE gefolgt von der Bedingung, die einen booleschen Wert zurückgibt, dh, Wahr oder falsch.

Der Hauptteil der while-Schleife wird weiterhin ausgeführt, es sei denn, die Bedingung gibt false zurück. Der Hauptteil einer while-Schleife in SQL beginnt mit einem BEGIN-Block und endet mit einem END-Block.,div>

tr>

1
2
3
4
5
6
7
8
SET @count INT;
SET @count = 1;
WHILE @count<= 5
BEGIN
PRINT @count
SET @count = @count + 1;
END;

Im obigen Skript geben wir zuerst die ganzzahlige Typvariable @count an und setzen ihren Wert auf 5.,

Als nächstes führen wir eine While-Schleife aus, die prüft, ob der Wert der Variablen @count kleiner oder gleich 5 ist. Wenn die Variable @count einen Wert kleiner oder gleich 5 hat, wird der Hauptteil der Schleife ausgeführt, und der aktuelle Wert der Variablen @count wird auf der Konsole gedruckt.

In der nächsten Zeile wird der Wert der Variablen @count um 1 erhöht. Die While-Schleife wird so lange ausgeführt, bis der Wert der Variablen @count größer als 5 wird., Hier ist die Ausgabe:

Einfügen von Datensätzen mit SQL While loop

Lassen Sie uns nun sehen, wie die SQL While-Schleife verwendet wird, um Dummy-Datensätze in eine Datenbanktabelle einzufügen.

Dazu benötigen wir eine einfache Datenbank „CarShop“:

1
DATENBANK ERSTELLEN CarShop

Wir werden eine Tabelle erstellen, dh, Autos in der CarShop-Datenbank. Die Cars-Tabelle enthält drei Spalten Id, Name und Preis.,

1
2
3
4
5
div> 6
7
USE CarShop
CREATE TABLE Cars
(
Id INT PRIMARY KEY IDENTITY(1,1),
Name VARCHAR (50) NOT NULL,
Price INT
)

Verwenden wir nun die While-Schleife in SQL, um 10 Datensätze in die Tabelle Cars einzufügen., Führen Sie das folgende Skript aus:

Im obigen Skript deklarieren wir erneut eine Variable @count und initialisieren sie mit 1. Als nächstes wird eine while-Schleife ausgeführt, bis der Wert der Variablen @count größer als 10 wird, was bedeutet, dass die while-Schleife 10 Mal ausgeführt wird.

Im Hauptteil der while-Schleife wird die INSERT-Abfrage verwendet, um einen Datensatz in die Cars-Tabelle einzufügen. Für die Spalte Name wird der Wert der Variablen @count mit der Zeichenfolge Car-angehängt. Für die Preisspalte der Tabelle Cars wird der Wert der Variablen @count mit 100 multipliziert.,

Wenn Sie nun alle Datensätze aus der Tabelle Cars mit der Abfrage „SELECT * FROM Cars“ auswählen, sollten Sie die folgende Ausgabe sehen:

Paging mit SQL While loop implementieren

Die while Schleife kann auch zur Implementierung von Paging verwendet werden. Paging bezieht sich auf die Anzeige einer Teilmenge von Datensätzen aus einer Datentabelle zu einem bestimmten Zeitpunkt.

Im folgenden Skript wird die while-Schleife verwendet, um jeweils zwei Datensätze aus der Tabelle Cars auszuwählen., Die ausgewählten Datensätze werden dann in der Konsolenausgabe angezeigt:

Im obigen Skript initialisieren wir zwei Variablen, dh @count und @limit. Die Anfangswerte für die Variablen @count und @limit sind 0 bzw. Die while-Schleife wird ausgeführt, während der Wert der Variablen @count kleiner als 10 bleibt.

Innerhalb der while-Schleife wird die OFFSET-Klausel verwendet, um die ersten N Zeilen der Cars-Tabelle zu überspringen. Die FETCH NEXT-Klausel ruft die nächsten N Datensätze ab.

In der ersten Iteration ist der Wert von OFFSET 0 da @count 0 ist, werden die ersten beiden Datensätze angezeigt., Da in der zweiten Iteration die Variable @count den Wert 2 hat, werden die ersten beiden Datensätze übersprungen und die Datensätze 3 und 4 abgerufen.

Auf diese Weise werden alle Datensätze aus der Tabelle Cars in Zweiergruppen abgerufen. Die Ausgabe ist wie folgt:

In der Ausgabe können Sie alle Datensätze aus der Tabelle Cars sehen, die in Zweiergruppen auf der Konsole gedruckt sind.

Die CONTINUE-und BREAK-Anweisungen

Die CONTINUE-Anweisung wird verwendet, um das Steuerelement wieder an den Anfang einer while-Schleife in SQL zu verschieben., Die BREAK-Anweisung wird verwendet, um die Schleife zu beenden.

Das folgende Skript zeigt, wie die CONTINUE-Anweisung in einer while-Schleife verwendet wird, um die ersten fünf positiven geraden Ganzzahlen zu drucken:

Im obigen Skript wird die while-Schleife ausgeführt, bis der Wert der Variablen @count kleiner oder gleich 10 bleibt. Der Anfangswert der Variablen @count ist 1.

Im Hauptteil der Schleife wird der Wert des Restes der @count geteilt durch 2 in der Variablen @mod gespeichert., Wenn der Wert der Variablen @count ungerade ist, ist der Rest 1, und wenn der Rest 0 ist, wird die CONTINUE-Anweisung verwendet, um das Steuerelement wieder an den Anfang der while-Schleife zu verschieben, und der Wert der Variablen @count wird nicht gedruckt.

Andernfalls wird der Wert der Variablen @count auf der Konsole gedruckt. Hier ist die Ausgabe des obigen Skripts:

Das folgende Beispiel zeigt die Verwendung einer BREAK Anweisung., Die while-Schleife im folgenden Skript wird nach dem Drucken der ersten fünf Ganzzahlen beendet:

Wenn Sie ein bestimmtes SQL-Skript wiederholt ausführen möchten, ist die SQL-While-Schleife der richtige Weg. In diesem Artikel wird erläutert, wie Sie die SQL While-Schleife in Microsoft SQL Server verwenden, um eine Vielzahl von Aufgaben auszuführen, die vom Einfügen von Datensätzen bis zur Paginierung reichen.,

  • Author
  • Recent Posts
Ben Richardson leitet Acuity Training, einen führenden Anbieter von SQL-Schulungen in Großbritannien. Es bietet eine vollständige Palette von SQL-Schulungen, von Einführungskursen bis hin zu Schulungen für fortgeschrittene Verwaltung und Data Warehouse – siehe hier für weitere Details. Sehschärfe hat Büros in London und Guildford, Surrey., Er bloggt gelegentlich auch auf Acuity ‚ s Blog
Alle Beiträge von Ben Richardson anzeigen

Neueste Beiträge von Ben Richardson (siehe alle)
  • Power BI: Wasserfalldiagramme und kombinierte Grafiken – 19.
  • Power BI: Importieren von Daten von SQL Server und MySQL – 12. Januar 2021

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.