Hinweise zu 'close' mit SQL
Im Kontext von SQL entfernt die EGL-Anweisung 'close' die Ergebnismenge, die Sie mit einer Anweisung 'open' oder 'get...forUpdate' erstellt haben.
In den folgenden Fällen entfernt EGL die Ergebnismenge automatisch:
- Eine Serie von positionsgebundenen get-Anweisungen (wie beispielsweise 'get next') endet mit einer Bedingung 'noRecordFound' (kein Datensatz gefunden).
- EGL führt eine Anweisung 'get' für einen SQL-Datensatz aus, wobei eine einzelne Zeile gelesen wird und weder 'forUpdate' noch 'singleRow' als Option angegeben wurde.
- EGL führt eine Anweisung 'replace' oder 'delete' aus, die den Cursor verwendet, der durch eine Anweisung 'get...forUpdate' geöffnet wurde.
- EGL beginnt mit der Verarbeitung einer Anweisung 'open' oder 'get' für einen Datensatz, der einem offenen Cursor zugeordnet ist; der Cursor wird jedoch geschlossen, bevor die andere Verarbeitung stattfindet.
- Das Programm führt 'sysLib.commit()' aus, aber der Cursor wird nicht geschlossen, wenn die Option 'hold' wirksam ist, wie im Zusammenhang mit der Anweisung 'open' erläutert wird.
- Das Programm erreicht das Ende einer Schleife vom Typ 'forEach'.
Syntax
Das Thema zur Kernanweisung close enthält ein Syntaxdiagramm.
Beispiel
Es folgt ein Beispiel einer SQL-Anweisung 'close':
close myCustomer;
Kompatibilität
Jedes Managementsystem für relationale Datenbanken (RDBMS) verfügt über eine eigene SQL-Version. Nicht alle SQL-Befehle sind in jeder Implementierung verfügbar. Bevor Sie eine eingebettete SQL-Anweisung codieren, lesen Sie die Dokumentation für Ihr Managementsystem für relationale Datenbanken.
Die folgende Tabelle enthält Hinweise zur Kompatibilität für die Anweisung 'close' und SQL.
| Plattform | Problem |
|---|---|
| CICS | EGL schließt alle offenen Ergebnismengen (auch wenn die Ergebnismenge mit der Option 'hold' geöffnet wurde), wenn eine Anweisung 'converse' im Segmentmodus ausgeführt wird. |
| IMS/VS | EGL schließt alle offenen Ergebnismengen (auch wenn die Ergebnismenge mit der Option 'hold' geöffnet wurde), sobald eine Anweisung 'converse' ausgeführt wird. (IMS/VS-Programme sind immer segmentiert.) |
| JSF-Handler | EGL schließt alle offenen Ergebnismengen (auch wenn die Ergebnismenge mit der Option 'hold' geöffnet wurde), wenn das Programm eine Webseite darstellt. |