Da es in vielen Programmiersprachen für den Typ Tabelle keine Entsprechung gibt, wird für die Programmeinbettung das Konzept des Cursors verwendet. Ein Cursor ermöglicht es, die Sätze einer Tabelle nacheinander einzeln abzuarbeiten.
Ein Cursor ist einer Tabelle, genannt Cursortabelle, zugeordnet. Diese Tabelle ist die Ergebnistabelle des Abfrageausdrucks, mit dem der Cursor definiert wird.
Für die Arbeit mit Cursorn gibt es eine Reihe von SQL-Anweisungen:
DECLARE CURSOR OPEN CLOSE FETCH DELETE ... WHERE CURRENT OF ... UPDATE ... WHERE CURRENT OF ... STORE RESTORE | Cursor vereinbaren Cursor öffnen Cursor schließen Cursor positionieren und Satz lesen aktuellen Satz löschen aktuellen Satz ändern Cursorposition speichern Cursorposition wiederherstellen |
Ein Cursor muss definiert, vor Gebrauch geöffnet und nach Gebrauch geschlossen werden. Die SQL-Anweisungen müssen in einer vorgeschriebenen Reihenfolge verwendet werden.
Es gibt nicht-änderbare Cursor und änderbare Cursor.
Ein lokaler Cursor unterscheidet sich von einem gewöhnlichen Cursor nur durch den beschränkten Gültigkeitsbereich.