对类型表使用 ONLY 关键字

当 DELETE 语句指定一个超级表时,任何满足 WHERE 子句的限定的行都会被删除,缺省情况下,表层次结构中所有超表的子表均会删除。要限制 DELETE 超级表的作用域,您必须在超级表的名称或同义词之前指定 ONLY 关键字。

在以下示例中,任何 name 列的具有 johnson 值的行都会从超级表 super_tab 中删除。但是,super_tab 的子表中的 name 列的具有 johnson 值的行会被保留,因为 ONLY( ) 子句限制了超级表的 DELETE 操作:
DELETE FROM ONLY(super_tab)
        WHERE name = "johnson";
Warning: 如果您在超级表上使用 DELETE 语句并省略了 ONLY 关键字和 WHERE 子句,则会删除超级表及其子表的所有行。

如果您计划使用 WHERE CURRENT OF 子句删除游标的活动集合的当前行,则不能指定 ONLY 关键字。