SYSTABCOL system view

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 Column 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.
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. For more information about the INLINE clause, see CREATE 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. For more information about the PREFIX clause, see CREATE 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. For more information about the [NO] INDEX clause, see CREATE TABLE statement.
Constraints on underlying system table

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)