Gewusst wie: Verwenden Sie den Cursor in SQL

June 6

Obwohl Cursor der langsamste Weg zum Navigieren in Daten, die im SQLServer gespeichert ist sind, können sie nützlich beim Zugriffsversuch auf nur eine Zeile von Daten zu einem Zeitpunkt. Im Gegensatz zur Update-Anweisungen, die Funktionen für viele Datenzeilen auf einmal durchzuführen, können Cursor Sie die Fähigkeit, eine einzelne Zeile zu manipulieren, ohne Veränderung der Parameter aller Zeilen um ihn herum. Um einen Cursor in SQL zu verwenden, müssen Sie eine Cursorfunktion schreiben können.

Anweisungen

1 Deklarieren Sie den Cursor. Um einen Cursor deklarieren, müssen Sie den folgenden Code einfügen:

Deklarieren Sie bei [Variable] char(11)DECLARE [Cursor_name] CURSORFÜR [Select_statement][FÜR SCHREIBGESCHÜTZTE]

Die "Variable" im Code ist der Suchbegriff, die, den Sie verwenden, den z. b. "Nachname." Dies hängt von den Namen der Zeilen in der Datenbank und welche Zeilen Sie konzentrieren sich auf. Auf den Cursornamen kann alles sein, Sie es benennen möchten. Die meisten Leute benutzen etwas einfaches, wie z. B. "C1", einen Cursor zu benennen. Die select-Anweisung für den Cursor kann eine select-Anweisung in SQL regelmäßig verwendet werden.

2 Öffnen Sie den Cursor. Öffnen des Cursors ist eine einfache Code. Überspringen einer Zeile unterhalb Ende des Codes, den Cursor deklarieren dann geben Sie einfach "Öffnen," ein Leerzeichen und den Cursornamen.

3 Die Daten abrufen. Lassen Sie eine Zeile unterhalb der "Open"-Anweisung vor dem Start Ihrer "Fetch" Anweisung. Es folgt dem "Fetch"-Code, der nur Informationen nutzt, der bereits behandelt wurde:

FETCH NEXT FROM [Cursor-Name]IN bei [Variable]WÄHREND @@FETCH_STATUS = 0BEGIN

4 Erweitern und am Ende des "Fetch-Befehls." Verwenden Sie den Code unten, die Namen der Variablen und Cursor erneut ausfüllen.

Drucken bei [Variable]FETCH NEXT FROM [Cursor-Name]IN bei [Variable]ENDE

5 Schließen Sie den Cursor. Der Cursor funktioniert nicht ordnungsgemäß, wenn sie nicht geschlossen ist. Um den Cursor zu schließen, überspringen Sie eine Linie nach "Ende" im Code "Fetch", und geben Sie "Enge Cursorname." Geben Sie in die Zeile direkt unter dem "DEALLOCATE Cursor-Name." Dies schließt den Cursor.

6 Führen Sie den Cursor. Sobald die Cursor-Anweisung abgeschlossen ist, geben Sie den Befehl "GO" am Ende des Cursors ausgeführt.