The SYSTABCOL system view contains one row for each column of each table and view in the database. The underlying system table for this view is ISYSTABCOL.
Column name | Data type | Description |
---|---|---|
table_id | UNSIGNED INT | The object ID of the table or view to which the column belongs. |
column_id | UNSIGNED INT |
The ID of the column. For each table, column numbering starts at 1. The column_id value determines the order of columns in the result set when SELECT * is used. It also determines the column order for an INSERT statement when a list of column names is not provided. |
domain_id | SMALLINT | The data type for the column, indicated by a data type number listed in the SYSDOMAIN system view. |
nulls | CHAR(1) | Indicates whether NULL values are allowed in the column. |
width | UNSIGNED INT | The length of a string column, the precision of numeric columns, or the number of bytes of storage for any other data type. |
scale | SMALLINT | The number of digits after the decimal point for NUMERIC or DECIMAL data type columns. For string columns, a value of 1 indicates character-length semantics and 0 indicates byte-length semantics. |
object_id | UNSIGNED BIGINT | The object ID of the table column. |
max_identity | BIGINT | The largest value of the column, if it is an AUTOINCREMENT, IDENTITY, or GLOBAL AUTOINCREMENT column. |
column_name | CHAR(128) | The name of the column. |
"default" | LONG VARCHAR | The default value for the column. This value, if specified, is only used when an INSERT statement does not specify a value for the column. |
user_type | SMALLINT | The data type, if the column is defined using a user-defined data type. |
column_type | CHAR(1) | The type of column (C=computed column, and R=other columns). |
compressed | TINYINT | Whether this column is stored in a compressed format. |
collect_stats | TINYINT | Whether the system automatically collects and updates statistics on this column. |
inline_max | SMALLINT | The maximum number of bytes of a BLOB to store in a row. A NULL value indicates that either the default value has been applied, or that the column is not a character or binary type. A non-NULL inline_max value corresponds to the INLINE value specified for the column using the CREATE TABLE or ALTER TABLE statement. |
inline_long | SMALLINT | The number of duplicate bytes of a BLOB to store in a row if the BLOB size exceeds the inline_max value. A NULL value indicates that either the default value has been applied, or that the column is not a character or binary type. A non-NULL inline_long value corresponds to the PREFIX value specified for the column using the CREATE TABLE or ALTER TABLE statement. |
lob_index | TINYINT | Whether to build indexes on BLOB values in the column that exceed an internal threshold size (approximately eight database pages). A NULL value indicates either that the default is applied, or that the column is not BLOB type. A value of 1 indicates that indexes will be built. A value of 0 indicates that no indexes will be built. A non-NULL lob_index value corresponds to whether INDEX or NO INDEX was specified for the column using the CREATE TABLE or ALTER TABLE statement. |
base_type_str | VARCHAR(32,767) | The annotated type string representing the physical type of the column. |
PRIMARY KEY (table_id, column_id)
FOREIGN KEY (table_id) references SYS.ISYSTAB (table_id)
FOREIGN KEY (domain_id) references SYS.ISYSDOMAIN (domain_id)
FOREIGN KEY (object_id) references SYS.ISYSOBJECT (object_id) MATCH UNIQUE FULL
FOREIGN KEY (user_type) references SYS.ISYSUSERTYPE (type_id)