Einer der Lichtblicke bei der Anwendungsentwicklung ist die Tatsache, dass es meist mehrere Möglichkeiten zur Bewältigung einer Aufgabe gibt. Beispielsweise kann man beim Umgang mit Datenbanksystemen clientbasierten Code zur Verarbeitung der Daten verwenden oder mithilfe gespeicherter Prozeduren die Verarbeitung auf den Datenbankserver verlegen.
SQL Server kompiliert gespeicherte Prozeduren, so dass sie möglichst effizient ausgeführt werden. Natürlich können die gespeicherten Prozeduren zur Durchführung der Datenauswahl aus einer Untereinheit von Datenbankeinträgen eingesetzt werden, doch lassen sie sich genauso gut auch zur Verarbeitung der einzelnen Einträge der Ergebnismenge benutzen. Dabei kommen Cursors ins Spiel.
Cursor-Syntax
Ein Cursor ist eine Methode, um auf die einzelnen Zeilen in einer Tabelle oder einer Ergebnismenge zugreifen zu können. Dabei wird jeweils auf eine Zeile zugegriffen. Der Zugriff auf einzelne Zeilen über einen Cursor entspricht der Verwendung einer Auswahl-Anweisung, um eine bestimmte Zeile auszugeben. SQL Server übernimmt die Bestimmung der Cursor-Position in der Ergebnismenge oder Tabelle.
Vor der näheren Beschreibung der Syntax sollen zunächst einmal vier Cursor-Arten vorgestellt werden:
Und so sieht die Cursor-Syntax aus:
DECLARE cursor_name CURSOR cursor_type FOR select_statement OPEN cursor_name FETCH cursor_name // Datensatz bearbeiten CLOSE cursor_name DEALLOCATE cursor_name
Die Anweisung DECLARE erstellt eine Variable für den Cursortyp. Auf den Cursortyp folgt der eigentliche Typ (z.B. forward_only, dynamic etc.). Die Anweisung FOR weist die Auswahl aus der Ergebnismenge dem Cursor zu. Der OPEN-Befehl bereitet den Cursor zur Benutzung vor – der Cursor wird geöffnet, so dass Daten aus ihm abgerufen werden können. Der FETCH-Befehl liest eine bestimmte Zeile aus dem Cursor aus. Mit dem CLOSE-Befehl wird der Cursor geschlossen und DEALLOCATE stellt seine Ressourcen wieder für das System bereit.
Page: 1 2
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…