START VIOLATIONS TABLE 语句

使用 START VIOLATIONS TABLE 语句来为指定的目标表创建违反表和诊断表。START VIOLATIONS TABLE 语句是对 SQL 的 ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
diagnostics 声明要与目标 table 相关联的诊断表的名称。缺省名称为 table_dia 在表、视图、序列和同义词的名称中必须是唯一的 标识符
num_rows 当在 table 上执行单个语句时,数据库服务器可插入到 violations 内的行的最大数目 必须为从 1 至 INTEGER 数据类型的最大值之间的整数 文字的数值
owner table 的所有者 必须拥有该表 所有者名称
table 要为其创建 violations 表和 diagnostics 表的目标表 如果忽略 USING 子句,则不超过 124 字节 标识符
violations 要与 table 相关联的违反表。缺省的名称为 table_vio diagnostics 的约束相同 标识符

用法

数据库服务器将 violations 表和 diagnostics 表与您在 FOR 关键字之后指定的目标表相关联,通过在 sysviolations 系统目录表中记录三表之间的关系。

目标表必须满足这些要求:
  • 不可为不是当前的数据库中的表。
  • 它不可为 CREATE EXTERNAL TABLE 语句定义了的对象。
  • 它不可已经与违反表或诊断表相关联。
  • 它不可为系统目录表。

START VIOLATIONS TABLE 语句创建特定的违反表,该表持有在目标表上执行插入、更新和删除操作期间不能满足约束和唯一索引的不符合的那些行。此语句还创建特定的诊断表,该表包含关于在违反行中的每一行导致的完整性违反的信息。