Transact -SQL , T-SQL oder für kurze, ist eine Erweiterung des Standard-SQL - eine Programmiersprache für die Verwaltung von Daten in relationalen Datenbanken konzipiert - von Microsoft implementiert , in seiner SQL Server-Produkt , und ? Sybase , in seiner Adaptive Server Enterprise-Produkt . In einer relationalen Datenbank werden die Daten in den Tabellen von Reihen und Spalten gespeichert werden. In T- SQL ist ein Cursor eine benannte Kontrollstruktur durch ein Anwendungsprogramm verwendet, um eine Zeile von Daten hinweisen . Cursor Position
Ein Cursor wird mit einer Erklärung, wie einer SELECT-Anweisung bekannt , das die Datenbank abfragt und ruft null oder mehr Zeilen aus einer oder mehreren Datenbanktabellen auf die genannten Kriterien basieren verbunden. Ein Cursor besteht aus einer Reihe von Zeilen , die aus der Ausführung der SELECT-Anweisung mit dem Cursor und der Cursor-Position , die einen Zeiger auf eine Zeile mit dem Ergebnis, Satz zugeordnet ist .
Erklärung
In T- SQL , werden die Attribute eines Cursors , einschließlich der Abfrage verwendet , um das Ergebnis -Set , auf dem der Cursor ausgeführt wird , mit einer DECLARE CURSOR-Anweisung definiert. Die DECLARE CURSOR -Anweisung erstellt den Cursor Struktur und erstellt und speichert die Abfrage mit dem Cursor verbunden, aber nicht die Abfrage ausführen .
Eröffnung und holen
wie das Sperren einer Datenbank-Tabelle , so dass es nicht verwendet werden kann oder durch die gleichzeitige Anwendungen geändert werden - - die DECLARE CURSOR-Anweisung wird durch eine OPEN -Anweisung, die den Cursor öffnet oder , in anderen Worten, führt grundlegende Operationen folgten , die die Abfrage erlauben verbunden mit dem Cursor ausgeführt wird. Die OPEN-Anweisung eine Ergebnismenge zurückgibt und ein FETCH Befehl führt die kompilierte Cursor und gibt eine oder mehrere Zeilen aus der Ergebnismenge . Der FETCH- Befehl verschiebt die aktuelle Cursor- Position nach unten das Ergebnis durch eine oder mehrere Zeilen gleichzeitig eingestellt .
Closing
Nachdem abgerufen eine Reihe von Daten basierend auf der Abfrage verbunden mit dem Cursor , was bleibt, ist zu prüfen , aktualisieren oder löschen Sie die Zeile durch den Cursor . Update und Delete -Operationen sind optional, aber in jedem Fall nur zu der Reihe von Daten an der aktuellen Cursor-Position gelten , nachdem ein zu holen. Beachten Sie, dass Sie nicht verwenden können, einen Cursor, um Zeilen in einer Datenbank Tabelle einzufügen. Bei der Verarbeitung auf allen entsprechenden Zeilen in der Ergebnismenge abgeschlossen ist, eine CLOSE-Befehl verwendet wird , um das Ergebnis -Set zu schließen , entfernen Sie alle temporären Tabellen und freigeben der Ressourcen für die Cursor- Struktur zugeordnet. Die CLOSE- Befehl kann in der Tat jederzeit ausgeführt werden, ohne dass die Verarbeitung der gesamten Ergebnismenge.