Anfang des Inhaltsbereichs

 GETVAL-Anweisung 

Verwendung

Mit der GETVAL-Anweisung können Sie stückweise Werte aus einer LONG-Spalte lesen.

Die GETVAL-Anweisungen müssen sich an eine FETCH-Anweisung anschließen. Durch jede auf diese FETCH-Anweisung folgende GETVAL-Anweisung wird der nächste Teil des Inhalts ab der aktuellen Position aus der LONG-Spalte der Datenbanktabelle gelesen.

Voraussetzung

Sie haben das Lesen der Daten aus der LONG-Spalte mit einer FETCH-Anweisung begonnen.

Syntax

EXEC SQL [<session_spec>] GETVAL INTO (<parameter_list>)

·       Die GETVAL-Anweisung muss bis auf das Schlüsselwort GETVAL der vorausgehenden FETCH-Anweisung entsprechen. So muss zum Beispiel die Reihenfolge und Anzahl der Parameter in der Parameterliste <parameter_list> mit der Parameterliste der FETCH-Anweisung übereinstimmen.

·       Zwischen der FETCH-Anweisung und der nachfolgenden GETVAL-Anweisung sowie zwischen den GETVAL-Anweisungen selbst dürfen Sie keine anderen SQL-Anweisungen ausführen.

·       Wenn die der LONG-Spalte entsprechende Host-Variable vom Datentyp SQLLongDesc ist, dann können Sie nach Ausführen der GETVAL-Anweisung die Gesamtlänge der LONG-Spalte in der zugehörigen Strukturkomponente cbColLen ablesen.

·       Wie oft Sie eine GETVAL-Anweisung ausführen müssen, können Sie durch Abfragen der Warnmeldung sqlwarn1 bestimmen. Solange sqlwarn1 den Wert W hat, wurde noch nicht der gesamte Inhalt der LONG-Spalte gelesen.

Nach Ausführen der FETCH-Anweisung wird der restliche Inhalt der LONG-Spalte gelesen durch die Anweisung

while (sqlca.sqlwarn[1] == 'W')
EXEC SQL GETVAL INTO :i1, :l1, :l2;

·       Wenn in einer GETVAL-Anweisung von einer bestimmten LONG-Spalte keine Daten gelesen werden sollen, dann belegen Sie in dieser Anweisung den entsprechenden Indikatorwert mit der vordefinierten Konstanten SQL_IGNORE.

Ende des Inhaltsbereichs