Obwohl Cursor die langsamste Art und Weise, durch die Daten , die in der SQL -Server gespeichert wird bewegen können , können sie nützlich sein, wenn man versucht, nur eine Reihe von Daten zu einem Zeitpunkt zugreifen . Im Gegensatz zu den Aussagen, die Funktionen auf viele Zeilen von Daten auf einmal durchführen aktualisieren, werden Cursor Ihnen die Möglichkeit, eine einzelne Zeile ohne Änderung der Parameter nach einem der Reihen um es zu manipulieren. Um einen Cursor in SQL verwenden, müssen Sie in der Lage sein , um einen Cursor -Funktion schreiben. Anleitung
1
Declare den Cursor. Um einen Cursor deklarieren, müssen Sie den folgenden Code :
DECLARE @ [Variable] char ( 11) DECLARE [ cursor_name ] CURSORFOR [ select_statement ] [FOR READ- ONLY]
" Variable" im Code ist die Suche Begriff, den Sie verwenden , wie zum Beispiel " Nachname ". Dies hängt von den Namen der Zeilen in Ihrer Datenbank und welche Zeilen Sie konzentriert sind . Der Cursor kann ein beliebiger Name Sie wollen , es zu benennen sein . Die meisten Leute benutzen etwas Einfaches wie "C1" , um einen Cursor zu bezeichnen. Die SELECT-Anweisung für den Cursor kann jeder select-Anweisung regelmäßig in SQL verwendet werden .
2
Öffnen Sie den Cursor . Öffnen Sie den Cursor ist ein einfaches Stück Code . Überspringen einer Zeile unterhalb des Endes des Codes , um den Cursor zu deklarieren, dann geben Sie einfach " OPEN ", ein Leerzeichen und den Cursor-Namen .
3
Fetch die Daten. Einen Zeile unter der "Open "-Anweisung , bevor Sie Ihren " Fetch "-Anweisung. Das Folgende ist die " Fetch " -Code, der nur Informationen, die bereits abgedeckt wurde verwendet :
Weiter FETCH FROM [ Cursor -name] INTO @ [Variable] WHILE @ @ FETCH_STATUS = 0BEGIN
4
erweitern und das Ende der " Fetch -Befehl. " Sie den nachfolgenden Code verwenden , füllen Sie bitte das variable und Cursor-Namen wieder .
PRINT @ [Variable] FETCH NEXT FROM [ Cursor -name] INTO @ [Variable] END
5
Schließen Sie den Cursor . Der Cursor wird nicht korrekt funktionieren , wenn sie nicht geschlossen ist. Um den Cursor zu schließen , überspringen eine Zeile nach "END " im " Fetch "-Code und geben Sie " CLOSE- Cursor - Namen. " Auf der Linie direkt unterhalb , geben Sie " DEALLOCATE Cursor - Namen. " Damit schließt sich der Cursor .
6
Führen Sie den Cursor . Sobald der Cursor -Anweisung abgeschlossen ist , geben Sie den " GO " -Befehl am Ende des Cursors auszuführen .