Anfang des Inhaltsbereichs

OPEN CURSOR-Anweisung (open_cursor_statement) 

Eine OPEN CURSOR-Anweisung ( open_cursor_statement ) erzeugt die zuvor unter dem angegebenen Namen mit einer DECLARE CURSOR-Anweisung definierte Ergebnistabelle.

Syntax

<open_cursor_statement> ::= OPEN <result_table_name>

result_table_name

Erläuterung

Existierende Ergebnistabellen werden implizit durch das Erzeugen einer Ergebnistabelle gleichen Namens gelöscht.

Alle Ergebnistabellen, die in der aktuellen Transaktion erzeugt wurden, werden implizit bei Beendigung der Transaktion mittels der ROLLBACK-Anweisung gelöscht.

Alle Ergebnistabellen werden implizit bei Beendigung der Sitzung mittels der RELEASE-Anweisung gelöscht. Sie können zuvor explizit durch eine CLOSE-Anweisung gelöscht werden.

Wenn der Name einer Ergebnistabelle identisch ist mit dem Namen einer Basistabelle, View-Tabelle (siehe Tabelle) oder eines Synonyms, kann auf diese Tabellen während der Lebensdauer der Ergebnistabelle nicht zugegriffen werden.

Zu jedem Zeitpunkt der Abarbeitung einer Ergebnistabelle existiert ein Standpunkt, der sich vor der ersten Zeile, auf einer Zeile, hinter der letzten Zeile oder zwischen zwei Zeilen befinden kann. Nach dem Erzeugen der Ergebnistabelle befindet sich der Standpunkt vor der ersten Zeile der Ergebnistabelle.

Je nach Suchstrategie wird die Suche nach allen Zeilen der Ergebnistabelle bei der Ausführung der OPEN CURSOR-Anweisung durchgeführt und die Ergebnistabelle physisch erzeugt oder jeweils die nächste Zeile der Ergebnistabelle bei der Ausführung einer FETCH-Anweisung gesucht und nicht physisch gespeichert. Dies ist beim Zeitverhalten der OPEN CURSOR-Anweisungen und der FETCH-Anweisungen zu berücksichtigen.

Ist die Ergebnistabelle leer, erhalten Sie die Rückmeldung 100 – Zeile nicht gefunden .

Die Anzahl der Zeilen in der Ergebnistabelle wird in der SQLCA im dritten Eintrag von SQLERRD zurückgemeldet. Hat dieser Zähler den Wert -1, dann gibt es wenigstens eine Ergebniszeile.

Ende des Inhaltsbereichs