C structures as host variables
supports the declaration of a C structure (struct) as a host variable. You can use the components of the structure within statements.
EXEC SQL BEGIN DECLARE SECTION;
struct customer_t
{
int c_no;
char fname[32];
char lname[32];
} cust_rec;
EXEC SQL END DECLARE SECTION;
EXEC SQL insert into customer (customer_num, fname, lname)
values (:cust_rec.c_no, :cust_rec.fname,
:cust_rec.lname);
If an SQL statement requires a single host variable, you must use the structure component name to specify the host variable. HCL OneDB™ requires structure component names in the SET clause of an UPDATE statement.
In SQL statements that allow a list of host variables, you can specify the name of the C structure and expands the name of the structure variable to each of its component elements. You can use this syntax with SQL statements such as the FETCH statement with an INTO clause or the INSERT statement with a VALUES clause.
EXEC SQL insert into customer (customer_num, fname, lname)
values (:cust_rec);
This insert performs the same task as the insert that specifies the individual component names of the cust_rec structure.