Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

RESTORE - Cursor wiederherstellen

RESTORE öffnet einen mit STORE gespeicherten Cursor.

Der Cursor wird mit derselben Cursorbeschreibung geöffnet wie beim letzten OPEN. Wurden Benutzervariablen zwischenzeitlich verändert, hat dies keine Auswirkungen auf die ermittelte Ergebnistabelle.

Auch die in der Cursorbeschreibung vorkommenden Spezial-Literale sowie die Zeitfunktionen CURRENT_DATE, CURRENT_TIME und CURRENT_TIMESTAMP werden nicht neu ausgewertet.

Die mit STORE abgespeicherte Cursorposition kann verlorengehen, wenn in der Zwischenzeit in derselben oder einer anderen Transaktion Sätze ab der gespeicherten Position gelöscht wurden oder der Satz, auf den der Cursor positioniert war, so geändert wurde, dass er nicht mehr zur Cursortabelle gehört.

Ist für den Cursor keine Cursorposition gespeichert, wird der Cursor nicht geöffnet und ein entsprechender SQLSTATE gesetzt.

Ansonsten wird der Cursor geöffnet und die Cursorposition wiederhergestellt. Um einen Satz zu löschen (DELETE ... WHERE CURRENT OF) oder zu ändern (UPDATE ... WHERE CURRENT OF), muss der Cursor mit FETCH auf diesen Satz positioniert werden.

Nach Ausführung der RESTORE-Anweisung werden alle mit STORE für diesen Cursor gespeicherten Informationen gelöscht. Vor der nächsten RESTORE-Anweisung muss zuerst eine Cursorposition mit STORE gespeichert werden.

Der wiederherzustellende Cursor muss mit STORE gespeichert und zum RESTORE-Zeitpunkt geschlossen sein. Die Transaktionen, die die STORE- und RESTORE-Anweisung enthalten, müssen denselben Isolationslevel haben.

Bei einem dynamischen Cursor muss die Cursorbeschreibung zum Ausführungszeitpunkt der RESTORE-Anweisung noch vorbereitet sein (siehe auch Abschnitt „Gültigkeitsdauer einer vorbereiteten Anweisung").

RESTORE darf nicht auf Cursor angewendet werden, die mit WITH HOLD definiert wurden.



RESTORE cursor



cursor

Name des Cursors, der wiederhergestellt werden soll.

Cursor nach der RESTORE-Anweisung bearbeiten

Nach einer RESTORE-Anweisung muss mit einer FETCH-Anweisung auf einen Satz positioniert werden.

Beispiel

FETCH NEXT positioniert auf den nächsten Satz in der Cursortabelle.

Erst dann kann mit einer UPDATE- oder DELETE-Anweisung auf den Cursor zugegriffen werden.

Siehe auch

DECLARE CURSOR, OPEN, STORE, FETCH, UPDATE, DELETE