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
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…