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.
Sie haben das Einfügen der Daten in die LONG-Spalte mit einer INSERT-Anweisung begonnen.
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.