QUERY-Anweisung (query_statement)
Eine QUERY-Anweisung (
query_statement ) spezifiziert eine gegebenenfalls geordnete Ergebnistabelle (siehe Ergebnistabellenname). Es gibt vier verschiedene Grundtypen für die Formulierung einer QUERY-Anweisung.Syntax
<query_statement> ::= <declare_cursor_statement> | <recursive_declare_cursor_statement>
| <named_select_statement> | <select_statement>
Erläuterung
Durch eine QUERY-Anweisung wird eine benannte oder unbenannte Ergebnistabelle (
Benannte/Unbenannte Ergebnistabelle) erzeugt.Folgende QUERY-Anweisungen werden unterschieden:
Grundtypen einer QUERY-Anweisung |
|
DECLARE CURSOR-Anweisung |
Eine benannte Ergebnistabelle wird definiert. Das Erzeugen der Tabelle erfolgt mit einer OPEN CURSOR-Anweisung. |
Rekursive DECLARE CURSOR-Anweisung |
Mit dieser Anweisung können Stücklisten erzeugt werden. |
SELECT-Anweisung ( named_select_statement ) |
Eine benannte Ergebnistabelle wird definiert und gleichzeitig erzeugt. |
SELECT-Anweisung ( select_statement ) |
Eine unbenannte Ergebnistabelle wird definiert und gleichzeitig erzeugt. |
Für die SELECT-Anweisung (
named_select_statement ) und die SELECT-Anweisung ( select_statement ) gelten sowohl die Regeln, die für die DECLARE CURSOR-Anweisung angegeben werden, als auch die Regeln, die für die OPEN CURSOR-Anweisung angegeben werden.Die Reihenfolge der Zeilen in der Ergebnistabelle hängt von der systeminternen Suchstrategie ab und ist nicht vorhersehbar. Der einzig sichere Weg, eine Sortierung der Ergebniszeilen zu erhalten, besteht in der Angabe einer
ORDER-Klausel.Änderbare Ergebnistabelle
Eine Ergebnistabelle bzw. die ihr zugrundeliegenden Basistabellen sind änderbar, wenn die QUERY-Anweisung folgende Bedingungen erfüllt: