Anfang des Inhaltsbereichs

 PUTVAL-Anweisung 

Verwendung

Mit PUTVAL-Anweisungen können Sie stückweise Daten in eine LONG-Spalte einfügen.

Die PUTVAL-Anweisungen müssen sich an eine INSERT-Anweisung anschließen. Durch jede auf diese INSERT-Anweisung folgende PUTVAL-Anweisung wird der jeweils aktuelle Inhalt der zugehörigen Host-Variablen an die LONG-Spalte der Datenbanktabelle angehängt.

Voraussetzung

Sie haben das Einfügen der Daten in die LONG-Spalte mit einer INSERT-Anweisung begonnen.

Syntax

EXEC SQL [<session_spec>] PUTVAL INTO <table_name>
         [(<column_name>,...)] VALUES (<parameter_list>)

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

·       Weisen Sie der Host-Variablen für die LONG-Spalte vor jeder PUTVAL-Anweisung die neu anzufügenden Daten zu.

·       Werte in der Parameterliste, die sich auf andere Tabellenspalten als die LONG-Spalte beziehen, werden von der PUTVAL-Anweisung ignoriert.

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

Jede andere SQL-Anweisung schließt die LONG-Spalte in der Datenbanktabelle, so dass keine weiteren Daten mehr angefügt werden können.

·       Beachten Sie die Besonderheiten beim Verwenden des Datentyps SQLLongDesc.

·       Wenn Sie mehr als eine Zeile in eine Tabelle einfügen wollen, verwenden Sie eine Array-Anweisung.

EXEC SQL CREATE TABLE LONGTEST
(I1 INTEGER, L1 LONG BYTE, L2 LONG BYTE);

EXEC SQL BEGIN DECLARE SECTION;

  int array_size;

  VARCHAR l1[100][500], l2[100][50];

  int i1[100];

EXEC SQL END DECLARE SECTION;

array_size = 100;

EXEC SQL FOR :array_size INSERT INTO LONGTEST VALUES
(:i1, :l1 :il1, :l2 :il2);

·       Wenn in einer PUTVAL-Anweisung in eine bestimmte LONG-Spalte keine Daten eingefügt werden sollen, dann belegen Sie in dieser Anweisung den entsprechenden Indikatorwert mit der vordefinierten Konstanten SQL_IGNORE.

Das Einfügen von LONG-Daten der Länge null ist nicht zulässig.

Ende des Inhaltsbereichs