FOR SELECT
Zeilenweises Durchlaufen einer abgefragten Ergebnismenge
PSQL
[label:] FOR <select_stmt> [AS CURSOR cursor_name] DO <compound_statement>
Argument | Beschreibung |
---|---|
label |
Optionales Label für |
select_stmt |
|
cursor_name |
Cursorname.Er muss unter den Cursornamen im PSQL-Modul (gespeicherte Prozedur, gespeicherte Funktion, Trigger oder PSQL-Block) eindeutig sein. |
compound_statement |
Eine einzelne Anweisung oder ein in |
Die FOR SELECT
-Anweisung
-
ruft jede Zeile nacheinander aus der Ergebnismenge ab und führt die Anweisung oder den Anweisungsblock für jede Zeile aus.Bei jeder Iteration der Schleife werden die Feldwerte der aktuellen Zeile in vorab deklarierte Variablen kopiert.
Das Einschließen der
AS CURSOR
-Klausel ermöglicht das Ausführen von positionierten Löschungen und Aktualisierungen – siehe Hinweise unten -
kann andere
FOR SELECT
-Anweisungen einbetten -
kann benannte Parameter enthalten, die zuvor in der
DECLARE VARIABLE
-Anweisung deklariert werden müssen oder als Eingabe- oder Ausgabeparameter der Prozedur existieren -
erfordert eine
INTO
-Klausel am Ende derSELECT … FROM …
-Spezifikation.Bei jeder Iteration der Schleife werden die Feldwerte der aktuellen Zeile in die in derINTO
-Klausel angegebene Variablenliste kopiert.Die Schleife wiederholt sich, bis alle Zeilen abgerufen wurden, danach wird sie beendet -
kann mit einer
BREAK
-,LEAVE
- oderEXIT
-Anweisung beendet werden, bevor alle Zeilen abgerufen wurden