Appendix C. The Method 4 of Dynamic SQL#
This appendix should be thoroughly comprehended and referred especially when utilizing the method 4 of dynamic SQL since it can insert a value for parameter marker at a time of executing a program.
SQLDA structure Data type#
The SQLDA structure is used in the method 4 of dynamic SQL. The following section will be discussing the internal and external data type of variables defining a data type in the SQLDA structure.
SQLDA Structure#
struct SQLDA
{
int N; /* number of columns executing commands */
char **V; /* data address */
int *L; /* the length of each data buffer */
short *T; /* each data type */
short **I; /* the indicator address */
int F; /* number of analyzed columns */
}
Internal Data Type#
DB DataType | Code | CLI type |
---|---|---|
CHAR | 1 | SQL_CHAR |
VARCHAR | 12 | SQL_VARCHAR |
DECIMAL | 3 | SQL_DECIMAL |
NUMERIC | 2 | SQL_NUMERIC |
SMALLINT | 5 | SQL_SMALLINT |
INTEGER | 4 | SQL_INTEGER |
BIGINT | -5 | SQL_BIGINT |
REAL | 7 | SQL_REAL |
FLOAT | 6 | SQL_FLOAT |
DOUBLE | 8 | SQL_DOUBLE |
External Data Type#
External DataType | Code | C DataType |
---|---|---|
SQLDA_TYPE_CHAR | 1 | char, char[] |
SQLDA_TYPE_VARCHAR | 2 | char, char[] |
SQLDA_TYPE_SSHORT | 3 | short |
SQLDA_TYPE_SINT | 4 | int |
SQLDA_TYPE_SSHORTINT | 5 | short int |
SQLDA_TYPE_SINTSHORT | 6 | int short |
SQLDA_TYPE_SLONGINT | 7 | long int |
SQLDA_TYPE_SLONG | 8 | long |
SQLDA_TYPE_SLONGLONG | 9 | long long |
SQLDA_TYPE_SLONGLONGINT | 10 | long long int |
SQLDA_TYPE_DOUBLE | 11 | double |
SQLDA_TYPE_FLOAT | 12 | float |
SQLDA_TYPE_USHORT | 13 | unsigned short |
SQLDA_TYPE_UINT | 14 | unsigned int |
SQLDA_TYPE_USHORTINT | 15 | unsigned short int |
SQLDA_TYPE_UINTSHORT | 16 | unsigned int short |
SQLDA_TYPE_ULONGINT | 17 | unsigned long int |
SQLDA_TYPE_ULONG | 18 | unsigned long |
SQLDA_TYPE_ULONGLONG | 19 | unsigned long long |
SQLDA_TYPE_ULONGLONGINT | 20 | unsigned long long int |
SQLDA_TYPE_DATE | 21 | SQL_DATE_STRUCT |
SQLDA_TYPE_TIME | 22 | SQL_TIME_STRUCT |
SQLDA_TYPE_TIMESTAMP | 23 | SQL_TIMESTAMP_STRUCT |