Example: SQL declare section template for C and C++ embedded SQL applications

When you are creating an embedded SQL application in C or C++, there is a template that you can use to declare your host variables and data structures.

The following example is a sample SQL declare section with host variables declared for supported SQL data types:

   EXEC SQL BEGIN DECLARE SECTION; 

.
.
.
        short     age = 26;               /* SQL type  500 */ 
        short     year;                   /* SQL type  500 */ 
        sqlint32  salary;                 /* SQL type  496 */ 
        sqlint32  deptno;                 /* SQL type  496 */ 
        float     bonus;                  /* SQL type  480 */
        double    wage;                   /* SQL type  480 */ 
        char      mi;                     /* SQL type  452 */ 
        char      name[6];                /* SQL type  460 */ 
        struct   { 
                  short len; 
                  char data[24]; 
                 } address;               /* SQL type  448 */ 
        struct   { 
                  short len; 
                  char data[32695]; 
                 } voice;                 /* SQL type  456 */ 
        sql type is clob(1m) 
                  chapter;                /* SQL type  408 */ 
        sql type is clob_locator 
                  chapter_locator;        /* SQL type  964 */ 
        sql type is clob_file 
                  chapter_file_ref;       /* SQL type  920 */ 
        sql type is blob(1m) 
                  video;                  /* SQL type  404 */ 
        sql type is blob_locator 
                  video_locator;          /* SQL type  960 */ 
        sql type is blob_file 
                  video_file_ref;         /* SQL type  916 */ 
        sql type is dbclob(1m) 
                  tokyo_phone_dir;        /* SQL type  412 */
        sql type is dbclob_locator 
                  tokyo_phone_dir_lctr;   /* SQL type  968 */
        sql type is dbclob_file 
                  tokyo_phone_dir_flref;  /* SQL type  924 */
        sql type is varbinary(12) 
                  myVarBinField;          /* SQL type  908 */
        sql type is binary(4) 
                  myBinField;             /* SQL type  912 */
        struct   { 
                  short len; 
                  sqldbchar data[100]; 
                 } vargraphic1;           /* SQL type  464 */ 
                                          /* Precompiled with
                                          WCHARTYPE NOCONVERT option */ 
        struct   { 
                  short len; 
                  wchar_t data[100]; 
                 } vargraphic2;           /* SQL type  464 */ 
                                          /* Precompiled with
                                          WCHARTYPE CONVERT option */ 
        struct   { 
                  short len; 
                  sqldbchar data[10000]; 
                 } long_vargraphic1;      /* SQL type  472 */ 
                                          /* Precompiled with 
                                          WCHARTYPE NOCONVERT option */ 
        struct   { 
                  short len; 
                  wchar_t data[10000]; 
                 } long_vargraphic2;      /* SQL type  472 */ 
                                          /* Precompiled with 
                                          WCHARTYPE CONVERT option */ 
        sqldbchar graphic1[100];          /* SQL type  468 */ 
                                          /* Precompiled with 
                                          WCHARTYPE NOCONVERT option */ 
        wchar_t   graphic2[100];          /* SQL type  468 */ 
                                          /* Precompiled with 
                                          WCHARTYPE CONVERT option */ 
        char      date[11];               /* SQL type  384 */ 
        char      time[9];                /* SQL type  388 */ 
        char      timestamp[27];          /* SQL type  392 */ 
        short     wage_ind;               /* Null indicator */ 

.
.
.

   EXEC SQL END DECLARE SECTION;