Weitere Informationen zu Cursors finden Sie auch im kostenlosen SQL query Training von Steve Stedman.
In SQL Server ist der Cursor ein Werkzeug, das verwendet wird, um eine Ergebnismenge zu durchlaufen oder jede Zeile einer Ergebnismenge zeilenweise zu durchlaufen. Es ist vielleicht nicht der beste Weg, mit einem Datensatz zu arbeiten, aber wenn Sie Zeile für Zeile (RBAR) in einem T-SQL-Skript durchlaufen müssen, ist ein Cursor eine Möglichkeit, dies zu tun.,
Hinweis: Wenn Sie neu in SQL Server sind und aus einem Oracle-Hintergrund stammen, sollten Sie wissen, dass sich Cursor auf SQL Server von denen auf Oracle unterscheiden.
Bevor wir den Cursor erstellen, beginnen wir einfach mit einer einfachen Abfrage, die im Cursor verwendet wird.
USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;Das sieht ungefähr so aus:
Jetzt konvertieren Sie es in einen Cursor, anstatt nur eine select Anweisung.
Schritt 1: Deklarieren Sie Variablen, um die Ausgabe vom Cursor zu halten.,
DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);Schritt 2: Deklarieren Sie das Cursorobjekt;
DECLARE @BusinessCursor as CURSOR;Schritt 3: Weisen Sie die Abfrage dem Cursor zu.
SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;Schritt 4: Öffnen Sie die cursor.
OPEN @BusinessCursor;Schritt 5: Erste Zeile abrufen.
FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;Schritt 6: Schleife, bis keine mehr Ergebnisse. Drucken Sie in der Schleife die ID und den Namen aus der Ergebnismenge aus und rufen Sie die Nettozeile ab.
Schritt 7: Cursor schließen.,
CLOSE @BusinessCursor;Schritt 8: Den Cursor freigeben, um Speicher freizugeben oder Ergebnismengen zu öffnen.
DEALLOCATE @BusinessCursor;Jetzt alles zusammensetzen:
Dies sollte Ihnen einen schnellen Überblick darüber geben, wie Sie schnell einen Cursor auf Microsoft SQL Server erstellen und verwenden können. Das gezeigte Beispiel wurde auf SQL Server 2008, und funktioniert auf SQL Server 2005 , SQL Server 2008R2, SQL Server 2012 oder SQL Server 2014.,
Hier ist ein Video, das eine ähnliche Übersicht über die Verwendung von Cursors in TSQL zeigt.
viel Spaß!,
-Steve Stedman
Verwandte Links
- Video: Einfache Einführung in TSQL – Cursor
- Kostenloses SQL-Abfragetraining für den 70-461-Kurs
- Einfaches Cursorbeispiel : FORWARD_ONLY vs FAST FORWARD
- Videotraining zur Verwendung von Cursors mit SQL Server
- Weitere Details zu Cursors
- Verwenden eines Cursors zum Auflisten von Datenbanken
- Cursor-Technische Daten
- Datenbankbeispiel mit einem CURSOR auflisten
Haben Sie Database Health Monitor ausprobiert?
Hilfe von Steve und dem Stedman Solutions Team
Wir sind bereit zu helfen., Steve und das Team von Stedman Solutions sind hier, um Ihnen bei Ihren SQL Server-Anforderungen zu helfen.Holen Sie sich noch heute Hilfe, indem Sie sich über das kostenlose 30-minütige Beratungsformular an Stedman Solutions wenden.