READ RESULT SET (SQL)

#### Search Results

Search

# READ RESULT SET (SQL)

Common Set-Syntax:

`READ` [(limit)] `RESULT SET` result-set `INTO` |  | `VIEW` view-name parameter |  | `FROM` ddm-name
[`GIVING` [:] sql-code]
`END-RESULT` [(r)] (structured mode only)
`LOOP` [(r)] (reporting mode only)

Extended Set-Syntax:

`READ` [(limit)] `RESULT SET` result-set `INTO` |  | `VIEW` view-name parameter |  | `FROM` ddm-name
[`WITH INSENSITIVE SCROLL` [:] scroll-hv]
[`GIVING` [:] sql-code]
[`WITH ROWSET POSITIONING FOR` |  | [:] row_hv integer |  | `ROWS`]
`END-RESULT` [(r)] (structured mode only)
`LOOP` [(r)] (reporting mode only)

Dieses Dokument behandelt folgende Themen:

- Funktion READ RESULT SET (SQL)

- Einschränkung bei READ RESULT SET (SQL)

- Syntax-Beschreibung READ RESULT SET (SQL)

- Beispiel für READ RESULT SET (SQL)

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen

Siehe auch READ RESULT SET - SQL im Teil Natural for Db2 in der Datenbankmanagementsystem-Schnittstellen-Dokumentation:

## Funktion READ RESULT SET (SQL)

Das SQL-Statement `READ RESULT SET` kann nur in Verbindung mit einem `CALLDBPROC`-Statement verwendet werden. Es dient dazu, eine Ergebnismenge (Result Set) zu lesen, die von einer mit einem vorhergehenden `CALLDBPROC`-Statement aufgerufenen Stored Procedure erzeugt wurde.

## Einschränkung bei READ RESULT SET (SQL)

Dieses Statement steht nur bei Natural for Db2 zur Verfügung.

## Syntax-Beschreibung READ RESULT SET (SQL)

Syntax-Element | Beschreibung
--- | ---
`limit` | Limit-Option: Sie können die Anzahl der zu lesenden Zeilen begrenzen. Sie können das Limit entweder als numerische Konstante (`0 - 4294967295`) oder als Variable mit Format N, P oder I angeben.
`result-set` | Resultset (Ergebnismenge): Als `result-set` geben Sie eine Resultset-Locator-Variable an, die mit einem vorangehenden `CALLDBPROC`-Statement gefüllt wurde. `result-set` muss eine Variable von Format/Länge I4 sein. Anmerkung Wenn zwischen dem `CALLDBPROC`-Statement und dem `READ RESULT SET`-Statement eine Syncpoint-Operation stattfand, kann das `READ RESULT SET`-Statement nicht mehr auf die Result Sets zugreifen.
`INTO` | INTO-Klausel: Mit der `INTO`-Klausel geben Sie in dem Programm die Zielfelder an, die mit dem Resultset (Ergebnismenge) gefüllt werden sollen. Sie können mit der `INTO`-Klausel entweder einzelne Parameter oder eine oder mehrere Views angeben, und zwar so wie sie im `DEFINE DATA`-Statement definiert wurden.
`VIEW` view-name | VIEW-Klausel: Als `view-name` geben Sie eine View (Datensicht) an, deren Felder die Spalten des Resultset (Ergebnismenge) aufnehmen, der durch die mit dem `CALLDBPROC`-Statement aufgerufene Stored Procedure erstellt wurden. Die Anzahl der Spalten des Resultset (Ergebnismenge) muss der Anzahl der Felder entsprechen, die in der View angegeben sind (dazu zählen keine Gruppenfelder, Redefinierungsfelder und Indikator-Felder).
`parameter` | Parameter: Als Parameter geben Sie den Namen eines Feldes an, das eine Spalte des Resultset (Ergebnismenge) aufnimmt, der durch die mit dem `CALLDBPROC`-Statement aufgerufene Stored Procedure erstellt wurde.
`FROM ddm-name` | DDM-Name: Als `ddm-name` geben Sie den Namen des DDMs an, das benutzt wird, um auf die Datenbank zuzugreifen, die die Stored Procedure ausführt. Weitere Informationen siehe `ddm-name`.
`WITH INSENSITIVE SCROLL` `[:] scroll_hv` | WITH INSENSITIVE SCROLL-Klausel: Diese Klausel gehört zum SQL Extended Set. Mit dieser Klausel wird die Anwendung veranlasst, einen beliebig positionierbaren Insensitive Cursor zu verwenden, um auf das von dem zuvor aufgerufenen Stored Procedure erstellten Resultset (Ergebnismenge) zuzugreifen. Damit diese Klausel verwendet werden kann, muss die Stored Procedure das Resultset (Ergebnismenge) mit einem positionierbaren Cursor erstellt haben. `scroll_hv` muss eine alphanumerische Natural-Variable sein, die die Scroll-Richtung enthält. `scroll_hv` wird bei jeder Ausführung der `READ RESULT SET`-Verarbeitungsschleife ausgewertet. Wenn außerdem die Option `GIVING sqlcode` angegeben wird, bleibt die Verarbeitungsschleife auch dann geöffnet, wenn der SQLCODE +100 (Zeile nicht gefunden) von der RDBMS zurückgegeben wird. Die Verarbeitung wird beendet, wenn die Anwendung ein `ESCAPE`-Statement absetzt oder wenn der SQLCODE `+100` fünf Mal nacheinander auftritt, ohne dass eine Terminal-Ein-/Ausgabe erfolgt ist. Wird die Option `GIVING sqlcode` nicht angegeben, so wird die Verarbeitungsschleife beendet, wenn ein SQLCODE von der RDBMS zurückgeliefert wird, der ungleich `0` (erfolgreich) ist.
`GIVING sqlcode` | GIVING sqlcode-Klausel: Mit dieser optionalen Klausel erhalten Sie den SQLCODE der SQL-`FETCH`-Operation, mit der das Resultset (Ergebnismenge) verarbeitet wurde. Wenn Sie diese Option angeben und der SQLCODE der SQL-Operation ungleich `0` ist, wird keine Natural-Fehlermeldung ausgegeben. In diesem Fall muss die als Reaktion auf den SQLCODE-Wert auszuführende Aktion im aufrufenden Natural-Objekt programmiert werden. Das Feld `sqlcode` muss eine Variable mit Format/Länge I4 sein. Wenn Sie die Option `GIVING sqlcode` nicht verwenden, gibt Natural eine Fehlermeldung aus, falls der SQLCODE ungleich `0` ist.
`WITH ROWSET POSITIONING FOR ... ROWS` | WITH ROWSET POSITIONING FOR ... ROWS-Klausel: Diese Klausel gehört zum SQL Extended Set. Mit dieser Klausel wird die Anwendung veranlasst, mehrere Zeilen mit Daten aus dem Resultset (Ergebnismenge) zu lesen, der von der zuvor aufgerufenen Stored Procedure erstellt worden ist. Die Variable `integer` oder `:row_hv` bestimmt die Anzahl der abgerufenen Zeilen. Wenn außerdem die Option `GIVING sqlcode` angegeben wird, bleibt die Verarbeitungsschleife auch dann geöffnet, wenn der SQLCODE `+100` (Zeile nicht gefunden) von der RDBMS zurückgegeben wird. Die Verarbeitung wird beendet, wenn die Anwendung ein `ESCAPE`-Statement absetzt oder wenn der SQLCODE `+100` fünf Mal nacheinander auftritt, ohne dass eine Terminal-Ein-/Ausgabe erfolgt ist. Wird die Option `GIVING sqlcode` nicht angegeben, so wird die Verarbeitungsschleife beendet, wenn ein SQLCODE von der RDBMS zurückgeliefert wird, der ungleich `0` (erfolgreich) ist.
`END-RESULT` (r) | Ende des READ RESULT SET-Statement: Im Structured Mode muss das für Natural reservierte Schlüsselwort `END-RESULT` zum Beenden des `READ RESULT SET`-Statements verwendet werden. Im Structured Mode können Sie bei `END-RESULT` Labels oder Zeilennummern angeben. Im Reporting Mode muss das Natural-Statement `LOOP` um Beenden des `READ RESULT SET`-Statements verwendet werden. Im Reporting Mode können Sie bei `LOOP` Labels oder Zeilennummern angeben.
`LOOP` (r)

## Beispiel für READ RESULT SET (SQL)

Siehe Example of CALLDBPROC/READ RESULT SET im Abschnitt CALLDBPROC - SQL in der Natural for Db2-Dokumentation.

### On this page

- Funktion READ RESULT SET (SQL)
- Einschränkung bei READ RESULT SET (SQL)
- Syntax-Beschreibung READ RESULT SET (SQL)
- Beispiel für READ RESULT SET (SQL)