Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 系统对象 » 视图 » 系统视图

 

SYSTABCOL 系统视图

SYSTABCOL 系统视图为数据库中每个表和视图的每列都包含一行。该视图的基础系统表为 ISYSTABCOL。

列名 列类型 说明
table_id UNSIGNED INT 该列所属的表或视图的对象 ID。
column_id UNSIGNED INT 列的 ID。各个表的列的编号都是从 1 开始。
domain_id SMALLINT 该列的数据类型,由 SYSDOMAIN 系统视图中所列的数据类型编号标识。
nulls CHAR(1) 指出该列中是否允许 NULL 值。
width UNSIGNED INT 字符串列的长度、数字列的精度或任何其它数据类型的存储字节数。
scale SMALLINT 对于 NUMERIC 或 DECIMAL 数据类型的列,是指小数点后的位数。对于字符串列,值 1 表示字符长度语义,而 0 表示字节长度语义。
object_id UNSIGNED BIGINT 表列的对象 ID。
max_identity BIGINT 如果该列为 AUTOINCREMENT、IDENTITY 或 GLOBAL AUTOINCREMENT 列,则为列的最大值。
column_name CHAR(128) 列的名称。
"default" LONG VARCHAR 列的缺省值。如果指定,则仅在 INSERT 语句没有指定列值时才使用该值。
user_type SMALLINT 使用用户定义的数据类型定义列时的数据类型。
column_type CHAR(1) 列的类型(C 表示计算列,而 R 表示其它)。
compressed TINYINT 该列是否以压缩格式存储。
collect_stats TINYINT 系统是否自动收集并更新该列的统计信息。
inline_max SMALLINT 行中存储 BLOB 的最大字节数。NULL 值表示已应用缺省值,或该列不是字符或二进制类型。非 NULL 的 inline_max 值与使用 CREATE TABLE 或 ALTER TABLE 语句为列指定的 INLINE 值相对应。有关 INLINE 子句的详细信息,请参见CREATE TABLE 语句
inline_long SMALLINT 当 BLOB 的大小超过 inline_max 值时,在行中存储的 BLOB 的重复字节数。NULL 值表示已应用缺省值,或该列不是字符或二进制类型。非 NULL 的 inline_long 值与使用 CREATE TABLE 或 ALTER TABLE 语句为列指定的 PREFIX 值相对应。有关 PREFIX 子句的详细信息,请参见CREATE TABLE 语句
lob_index TINYINT 是否对列中超过内部阈值大小(约八个数据库页)的 BLOB 值建立索引。NULL 值表示已应用缺省值,或该列不是 BLOB 类型。值 1 表示将建立索引。值 0 表示不建立建索引。非 NULL 的 lob_index 值与使用 CREATE TABLE 或 ALTER TABLE 语句为列指定了 INDEX 还是 NO INDEX 相对应。有关 [NO] INDEX 子句的详细信息,请参见CREATE TABLE 语句
基础系统表上的约束

PRIMARY KEY (table_id, column_id)

FOREIGN KEY (table_id) 引用 SYS.ISYSTAB (table_id)

FOREIGN KEY (domain_id) 引用 SYS.ISYSDOMAIN (domain_id)

FOREIGN KEY (object_id) 引用 SYS.ISYSOBJECT (object_id) MATCH UNIQUE FULL

FOREIGN KEY (user_type) 引用 SYS.ISYSUSERTYPE (type_id)