对象模式和违反检测 / 违反表和诊断表 |
下列示例展示执行 START VIOLATIONS TABLE 语句的不同方式。
START VIOLATIONS TABLE FOR customer;
customer_num fname lname company address1 address2 city state zipcode phone gbasedbt_tupleid gbasedbt_optype gbasedbt_recowner
customer_vio 表与 customer 表有相同的表定义,除了 customer_vio 表有包含关于导致了坏行的操作的信息的三个附加列之外。
gbasedbt_tupleid objtype objowner objname
对于目标表,此列的列表展示诊断表与违反表之间的重要差异。尽管对于目标表中的每列,违约表都有相匹配的列,但诊断表的列不依赖于目标表的模式。由任何 START VIOLATIONS TABLE 语句创建的诊断表始终有以上列表中的四列,带有相同的列名称和数据类型。
START VIOLATIONS TABLE FOR items USING exceptions, reasons;
START VIOLATIONS TABLE FOR orders MAX ROWS 50000;
如果您未为 START VIOLATIONS TABLE 语句中的 MAX ROWS 指定值,则对诊断表中的行数没有缺省的限制,除了可用的磁盘空间之外。
MAX ROWS 子句仅对于表函数在其中作为诊断表的操作限定行的数目。