SELECT DIRECT-Anweisung (select_direct_statement:_searched)
Die SELECT DIRECT-Anweisung (
select_direct_statement:_searched ) selektiert eine Zeile einer Tabelle. Die Selektion erfolgt mit Hilfe eines angegebenen Schlüsselwertes.Syntax
<select_direct_statement:_searched> ::= SELECT DIRECT <select_column>,...
INTO <parameter_spec>,... FROM <table_name> KEY <key_spec>,...
[<where_clause>] [<lock_option>]
Erläuterung
Diese SELECT DIRECT-Anweisung dient dazu, durch die Angabe der Schlüsselspalten direkt auf eine Zeile einer Tabelle zuzugreifen. Für Tabellen, die ohne Schlüsselspalten definiert wurden, gibt es eine implizit angelegte Spalte SYSKEY CHAR(8) BYTE, die einen vom Datenbanksystem generierten Schlüssel enthält. Die Tabellenspalte SYSKEY kann daher in der SELECT DIRECT-Anweisung zum Zugriff auf eine bestimmte Tabellenzeile verwendet werden.
Der Benutzer muß das SELECT-Privileg für die ausgewählten Spalten oder für die ganze Tabelle besitzen.
Wenn eine Zeile mit den angegebenen Schlüsselwerten gefunden wurde und wenn eine eventuell angegebene
Suchbedingung für diese Zeile wahr ist, werden den Parametern die korrespondierenden Spaltenwerte zugewiesen. Für die Zuweisungen der Werte gelten die bei FETCH-Anweisung aufgeführten Regeln.Wenn keine Zeile mit den angegebenen Schlüsselwerten existiert, oder wenn eine Zeile mit den angegebenen Schlüsselwerten existiert und eine angegebene Suchbedingung für diese Zeile nicht wahr ist, wird die Rückmeldung
100 – Zeile nicht gefunden ausgegeben, und den in den Parameterspezifikationen angegebenen Parametern werden keine Werte zugewiesen.Im interaktiven Betrieb kann
INTO <parameter_spec>,... entfallen.Die LOCK-Option bestimmt, welche Sperre auf die gelesene Zeile gesetzt wird.
Die Angabe einer LONG-Spalte in einer selektierten Spalte (
select_column ) ist nur in der obersten Folge von selektierten Spalten in dieser SELECT DIRECT-Anweisung zulässig.Siehe auch:
SELECT DIRECT-Anweisung (select_direct_statement:_positioned)