违反表的结构

当您为目标表发出 START VIOLATIONS TABLE 时,该语句创建的违反表有预先定义的结构。此结构由目标表的列和三个附加列组成。

下表展示违反表的模式。
列名称 数据类型 列描述
出现在目标表中的相同的列(以相同的顺序) 与目标表中对应的列相同的类型。 违反表与目标表有相同的模式,因此可将在插入、更新和删除操作期间违反约束或唯一索引的那些行过滤到违反表。
gbasedbt_tupleid SERIAL 对于不符合的行的唯一的序列代码
gbasedbt_optype CHAR(1) 导致此坏行的操作的类型。此列可有下列值:
  • I = Insert
  • D = Delete
  • O = Update(在此行中带有原始的值)
  • N = Update(在此行中带有新值)
  • S = SET Database Object Mode
gbasedbt_recowner CHAR(32) 发出了创建此不符合的行的语句的用户

如果 START VIOLATIONS TABLE 语句的目标表受到安全策略的保护,则数据库服务器以同样的安全策略保护该违反表。在此情况下,违反表的模式包括一 IDSSECURITYLABEL 列,其名称和在其他列之中的位置对应于目标表的 IDSSECURITYLABEL 列。当创建违反表时,在目标表中保护列的任何 SECURED WITH label 规范还保护对应的违反表列。

将目标表中的连续的列转换成违反表中的整数数据类型。

用户可检测在违反表中的这些不符合的行,分析在诊断表中包含诊断信息的相关的行,并采取纠正行动。