Eine SINGLE SELECT-Anweisung (single_select_statement) spezifiziert eine einzeilige Ergebnistabelle und weist deren Werte Parametern zu.
<single_select_statement>
::=
SELECT [<distinct_spec>]
<select_column>,...
INTO <parameter_spec>,...
FROM <from_table_spec>,...
[<where_clause>]
[<group_clause>]
[<having_clause>]
[<lock_option>]
Die Anzahl der Zeilen in der Ergebnistabelle darf nicht größer als eins sein. Wenn die Ergebnistabelle leer ist oder mehr als eine Zeile enthält, werden entsprechende Fehler- oder Rückmeldungen ausgegeben und den in den Parameterspezifikationen angegebenen Parametern keine Werte zugewiesen. Bei einer leeren Ergebnistabelle erhalten Sie die Rückmeldung 100 – Zeile nicht gefunden.
Wenn die Ergebnistabelle genau eine Zeile enthält, werden deren Werte den korrespondierenden Parametern zugewiesen. Für die Wertzuweisungen an die Parameter gelten die Regeln der FETCH-Anweisung.
Die Reihenfolge der GROUP- und HAVING-Klausel ist beliebig.
Die Angabe einer LONG-Spalte in einer selektierten Spalte select_column ist nur in der obersten Folge von selektierten Spalten in einer SINGLE SELECT-Anweisung zulässig, wenn dort nicht die DISTINCT-Spezifikation distinct_spec DISTINCT verwendet wurde.