Um das Lesen und Schreiben von LONG-Spalten zu vereinfachen, stellt der C/C++-Precompiler die eigens vordefinierten Datentypen SQLFILE und SQLLongDesc sowie die GETVAL-Anweisung und die PUTVAL-Anweisung zum stückweisen Bearbeiten der LONG-Spalten zur Verfügung.
Sie können Host-Variablen für LONG-Spalten jedoch auch als char-Arrays oder VARCHAR-Datentyp deklarieren.
EXEC SQL CREATE TABLE LONGTEST
(I1 INTEGER, L1 LONG BYTE, L2 LONG BYTE);
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR l1[1000], l2[50];
int i1, il1, il2;
EXEC SQL END DECLARE SECTION;
EXEC SQL INSERT INTO LONGTEST VALUES
(:i1, :l1 :il1, :l2 :il2);
Beispiel für die Verwendung eines Deskriptors:
sqlvartype *actvar;
EXEC SQL BEGIN DECLARE SECTION;
char *insert = "INSERT INTO LONGTEST VALUES (:I1, :L1, :L2)";
EXEC SQL END DECLARE SECTION;
EXEC SQL PREPARE ins from :insert;
EXEC SQL DECLARE :C1 CURSOR FOR ins;
EXEC SQL DESCRIBE ins;
/* ... */
actvar = &sqlda.sqlvar[1];
(*actvar).hostvartype = sqlvchar;
/* ... */
EXEC SQL OPEN :C1 USING DESCRIPTOR;