Setting the TYPE or ITYPE Field
Use these integer values to set the value
of TYPE or ITYPE for each item.
SQL Data Type | Integer Value | X-Open Integer Value | SQL Data Type | Integer Value | X-Open Integer Value |
---|---|---|---|---|---|
CHAR | 0 | 1 | MONEY | 8 | - |
SMALLINT | 1 | 4 | DATETIME | 10 | - |
INTEGER | 2 | 5 | BYTE | 11 | - |
FLOAT | 3 | 6 | TEXT | 12 | - |
SMALLFLOAT | 4 | - | VARCHAR | 13 | - |
DECIMAL | 5 | 3 | INTERVAL | 14 | - |
SERIAL | 6 | - | NCHAR | 15 | - |
DATE | 7 | - | NVARCHAR | 16 | - |
The following table lists integer values that represent additional
data types available with Informix®.
SQL Data Type | Integer Value | SQL Data Type | Integer Value |
---|---|---|---|
INT8 | 17 | Fixed-length OPAQUE type | 41 |
SERIAL8 | 18 | LVARCHAR (client-side only) | 43 |
SET | 19 | BOOLEAN | 45 |
MULTISET | 20 | BIGINT | 52 |
LIST | 21 | BIGSERIAL | 53 |
ROW (unnamed) | 22 | IDSSECURITYLABEL | 2061 |
COLLECTION | 23 | ROW (named) | 4118 |
Variable-length OPAQUE type | 40 |
The same TYPE constants can also appear in the syscolumns.coltype column in the system catalog; see Informix® Guide to SQL: Reference.
For code that is easier to maintain, use the predefined constants for these SQL data types instead of their actual integer values. These constants are defined in the $INFORMIX/incl/public/sqltypes.h header file. You cannot, however, use the actual constant name in the SET DESCRIPTOR statement. Instead, assign the constant to an integer host variable and specify the host variable in the SET DESCRIPTOR statement file.
The following example shows how you can set the TYPE field
in Informix®
ESQL/C:
main()
{
EXEC SQL BEGIN DECLARE SECTION;
int itemno, type;
EXEC SQL END DECLARE SECTION;
...
EXEC SQL allocate descriptor 'desc1' with max 5;
...
type = SQLINT; itemno = 3;
EXEC SQL set descriptor 'desc1' value :itemno type = :type;
}
This information is identical for ITYPE. Use ITYPE when you create a dynamic program that does not comply with the X/Open standard.