SQL-Datenbanken bestehen normalerweise aus mehreren hundert oder sogar tausend Zeilen. Aber oftmals betreffen Änderungen, Auswahlen, Aktualisierungen und andere Anweisungen nur wenige Zeilen. Um genau zu wissen, wie viele Zeilen von deinen verschiedenen Operationen betroffen sind, kannst du SQL ROWCOUNT verwenden. Entschlüsseln.
SQL ROWCOUNT, um die Zeilen zu zählen
@ROWCOUNT ist eine SQL-Abfrage, die die Anzahl der Zeilen zurückgeben soll, die von der zuletzt ausgeführten Anweisung betroffen sind. Dabei kann es sich um eine beliebige SQL-Anweisung wie INSERT, UPDATE, DELETE, SELECT usw. handeln.
Damit SQL ROWCOUNT richtig funktioniert, müssen beide Abfragen (ROWCOUNT und die Anweisung, die die Zeilen beeinflusst) in der gleichen Ausführung sein. Wenn sie getrennt ausgeführt werden, ist der zurückgegebene Wert 1; dies entspricht nicht der Anzahl der Zeilen, die durch die zuvor ausgeführte Anweisung zugewiesen wurden.
Das Ziel von @@ROWCOUNT ist es, Endlosschleifen zu vermeiden, wenn eine Datenbank in einer Schleife analysiert wird. Wenn also alle Zeilen verarbeitet wurden, wird der Analyseprozess dank SQL ROWCOUNT automatisch gestoppt.
Neben der Verarbeitung von Daten in einer Schleife kann diese Abfrage auch die Anzahl der Zeilen überprüfen, die in einer Anweisung zugewiesen sind. Auf diese Weise erleichtert ROWCOUNT die Behandlung möglicher Fehler.
5 Beispiele für die Verwendung von SQL ROWCOUNT
SQL ROWCOUNT kann mit allen Arten von Anweisungen ausgeführt werden. Um dir ein besseres Verständnis zu ermöglichen, findest du hier einige Beispiele.
ROWCOUNT und SELECT
Bei gleichzeitiger Verwendung von SQL ROWCOUNT und SELECT wird die Anzahl der von der ursprünglichen Abfrage ausgewählten Zeilen ermittelt.
Dies äußert sich wie folgt:
SELECT TOP (100)
FROM [tabellenname]
SELECT @@ROWCOUNT
Die Anzahl der von der SELECT-Abfrage betroffenen Zeilen wird dann am unteren Rand der Tabelle angezeigt.
Es ist auch möglich, @@ROWCOUNT aufzurufen, nachdem du zwei SELECT-Befehle in einer Operation ausgeführt hast.
Beispiel:
SELECT TOP (100)
FROM [tabellenname_1]
SELECT top (100)
FROM [tabellenname_1] – [tabellenname_2].
In diesem Fall berücksichtigt die SQL-Abfrage ROWCOUNT nur die zweite Anweisung.
💡 Auch interessant:
SQL Index – Wozu dient er? |
Fremdschlüssel SQL |
Dateformat SQL |
SQL Developper Tool |
SQL Distinct |
ROWCOUNT et UPDATE
Wenn du SQL ROWCOUNT nach der Verwendung einer UPDATE-Abfrage aufrufst, kannst du die Anzahl der Zeilen ermitteln, die während dieser Operation aktualisiert wurden.
Diese Kombination sieht folgendermaßen aus:
UPDATE [tabellenname].
SET [spalten_name] = ’neuer Wert‘.
WHERE condition
SELECT @@ROWCOUNT
Auch hier erscheint die Anzahl der aktualisierten Zeilen unterhalb der Tabelle.
ROWCOUNT und DELETE
Durch die Kombination von ROWCOUNT und DELETE wird die Anzahl der gelöschten Zeilen ermittelt.
Die Syntax lautet wie folgt:
DELETE [tabellenname]
WHERE condition
SELECT @@ROWCOUNT
ROWCOUNT und INSERT
Bei der INSERT-Abfrage gibt der SQL-Befehl ROWCOUNT die Anzahl der hinzugefügten Zeilen an. .=
Hier ist die grundlegende Syntax:
INSERT INTO table VALUES ('Wert 1', 'Wert 2', ...) SELECT @@ROWCOUNT
.
Es ist auch möglich, Batch-Abfragen auszuführen, indem du den Befehl GO hinzufügst.
Zum Beispiel:
INSERT INTO table
VALUES (‚Wert 1‘, ‚Wert 2‘, ‚Wert 3‘).
GO 10.
SELECT @@ROWCOUNT.
Wenn es in einer Operation mehrere gleichzeitige Abfragen gibt, berücksichtigt SQL ROWCOUNT nur die letzte Abfrage. In diesem Beispiel wird der Befehl ROWCOUNT, selbst wenn die INSERT-Abfrage zehnmal wiederholt wird, nur drei Änderungen anzeigen, da dies die Anzahl der Werte ist, die durch die letzte Abfrage geändert wurden.
Diese Regel gilt für alle Anweisungen, unabhängig davon, ob es sich um INSERT. SELECT, UPDATE, DELETE, etc.
ROWCOUNT und IF
SQL ROWCOUNT kann auch in Verbindung mit IF verwendet werden, um den Fluss der Anweisung zu kontrollieren. Je nachdem, wie viele Zeilen betroffen sind, kann eine bestimmte Nachricht hinzugefügt werden.
Zum Beispiel:
SELECT TOP (100)
FROM [tabellenname]
IF @@ROWCOUNT > 10
PRINT „message_1“
ELSE
PRINT „message_2“
In diesem Beispiel bedeutet das: Wähle die Top 100 von [tabellenname]. Wenn die Anzahl der Zeilen größer als 10 ist, schreibe Nachricht_1, wenn nicht, schreibe Nachricht_2. Da es in diesem Fall darum geht, eine Top 100 auszuwählen, wird die Anzahl der Zeilen tatsächlich größer als 10 sein, so dass Nachricht_1 erscheint.
💡Auch interessant:
MySQL Relationale Datenbanksoftware |
SQL Tutorial |
Apache Cassandra noSQL BDD |
SQL Joins |
SQL Count Tutorial |
SQL Datei öffnen |
SQL vs. NOSQL |
Lerne SQL mit DataScientest
SQL ROWCOUNT ist nur eine Abfrage unter den vielen Möglichkeiten, die die SQL-Sprache bietet. Es gibt auch Aktualisierungen, Löschungen, Hinzufügungen, Bedingungen, Auslöser, etc.
Die Beherrschung dieser Sprache gehört zu den grundlegenden Fähigkeiten eines jeden Fachmanns, der lernen muss, mit relationalen Datenbanken flüssig umzugehen. Um dies zu erreichen, muss man Theorie (um alle verfügbaren Abfragen zu kennen) und Praxis (um sie von Fall zu Fall anzuwenden) miteinander verbinden. Genau das ist es, was wir bei DataScientest mit unseren zahlreichen Schulungen rund um Daten anbieten. Entdecke sie!