DBASK-数据库管理员结构化知识体系-Structured knowledge system for DataBase Administrators

Home

syscolumns

表视图过程等列的相关信息

说明

每个表和视图中的每一列以及每个过程中的每一参数在 syscolumns 中都有相应的一行。 每个与表相关联的计算列和基于函数的索引键在其中都有相应的一行。

id

该列所属表的 ID 或与该参数相关联的过程的 ID。

number

对过程进行分组时的子过程数(0 表示非过程条目)。

colid

列 ID

status

  • 位 0-2(值 1、2 和 4)表示位的位置(如果列使用 bit 数据类 型)。 如果列使用 text/image 数据类型,位 0 和 1 表示如下所示的 复制状态: 01 = 始终复制 10 = 仅在更改后复制 00 = 不复制
  • 位 3(值 8)— 表示 NULL 值在该列中是否合法。
  • 位 4(值 16)— 表示该列是否存在多项检查约束。
  • 位 5 和 6 — 供内部使用。
  • 位 7(值 128)— 表示标识列。

type

物理存储类型;从 systypes 中复制。

length

数据的物理长度;从 systypes 中复制或由用户提供。

offset

该列所在行中的偏移;如果为负值,则为可变长度列。

usertype

用户类型 ID;从 systypes 中复制。

cdefault

生成该列缺省值的过程的 ID。

domain

该列第一项规则或检查约束的约束 ID。

name

列名

printfmt

保留

prec

有效位数(如果列使用 numeric 数据类型)。

scale

小数点右侧的位数(如果列使用 numeric 数据类型)。

remote_type

将本地名映射到远程名。 组件集成服务的访问方法需要使用它,以使该软件能够将参数中的本机列数据类型信息传递到 access_server类服务器。

remote_name

将本地名映射到远程名。 组件集成服务的访问方法需要使用它,以使用正确的远程表列名来构造查询。

xstatus

具有扩展数据类型的列的状态。 其值为: 0 = 在行内 1 = 在行外 对于没有扩展数据类型的列,xstatus 为 NULL。

xtype

类的 ID。 如果表中的列或过程中的参数将 Java 类作为其数据类型,则使用该列。 在使用时,字段不为 NULL,type 的值为 0x39。

xdbid

类的数据库 ID。 对于系统类,该值为 -1。 否则,该值为当前数据库 ID。 如果表中的列或过程中的参数将 Java 类作为其数据类型,则使用该列。 字段不为 NULL,type 的值为 0x39。

accessrule

它表示 SQLJ 存储过程的参数模式以及 SQLJ 函数的返回类型。 提供以下内部位,用于支持计算列:

  • 0x00000010,值 16 — 该列为计算列。
  • 0x00000020,值 32 — 该列为已实现的计算列。
  • 0x00000040,值 64 — 该列为视图中的计算列。
  • 0x00001000,值 4096 — 该加密列具有解密缺省值。 syscolumns 中的 status2 字段使用以下编码来表示列的加密属性:
  • 0x80,值 128 — 该列已加密。
  • 0x100,值 256 — 已使用初始化矢量加密该列。
  • 0x200,值 512 — 已使用随机填充加密该列。
  • 0x400,值 1024 — 代理表已加密。
  • 0x1000,值 4096 — 该加密列具有解密缺省值。
  • 0x20000,值 131072 — 显式将列定义为不压缩。
  • 0x00040000,值 262144 — 创建为行内的 LOB 列的用户指定的或派生的行内长度。

status3

0x0001,值 1 — 表示基于函数的索引键的隐藏计算列。

computedcol

存储计算列定义的对象 ID。

encrtype

采用加密形式的数据的类型。

lobcomp_lvl

为大对象定义的列的压缩级别。

encrlen

加密数据的长度。

encrykeyid

密钥的对象 ID。

encrykeydb

创建加密密钥的数据库的名称;如果它与加密列位于同一数据库中,则为 NULL。

encrdate

加密密钥的创建日期;从 sysobjects.crdate 中复制。

inrowlen

存储创建为行内的 LOB 列的用户指定的或派生的行内长度。

索引

  • id、number、colid 上的唯一聚簇索