SYSDEFAULTS

sysdefaults 系统目录表列出了对数据库中的每一列设置的用户定义的缺省值。对于每个用户定义的缺省值,都存在一行。

sysdefaults 表具有以下列:
表 1. SYSDEFAULTS 表列描述
类型 解释
tabid INTEGER 唯一地标识表的代码。当 class 列包含代码 P 时,tabid 列会引用过程标识,而不是表标识。
colno SMALLINT 唯一地标识列的代码。
type CHAR(1) 标识缺省值类型的代码:
  • C = 当前
  • L = 文字值
  • N = NULL
  • S = Dbservername Sitename
  • T = 今天
  • U = 用户
default CHAR(256) 如果 sysdefaults.type = L,那么为文字缺省值。
class CHAR(1) 标识列种类的代码:
  • T = 表
  • t = ROW 类型
  • P = 过程

如果 CREATE TABLE 或 ALTER TABLE 语句中未明确指定缺省值,那么 sysdefaults 表中不存在该列的条目。

如果指定文字作为缺省值,那么它将以 ASCII 文本的形式存储在缺省列中。如果文字值不是下一段中列出的数据类型之一,那么 default 列由两部分组成。第一部分是缺省值结构的二进制值的 6 位表示法。第二部分是 ASCII 文本形式的缺省值。这两个部分由空格隔开。

如果列的数据类型不是 CHAR、NCHAR、NVARCHAR 或 VARCHAR 或者(用于 GBase 8s)BOOLEAN 或 LVARCHAR,那么在缺省列中对缺省值的二进制表示进行编码。

tabidcolnoclass 列的组合索引只允许唯一值。