【问题标题】:Is truncation of parent table restricted even when child table is empty?即使子表为空,父表的截断是否受到限制?
【发布时间】:2012-03-02 10:53:07
【问题描述】:

我可以使用delete from table_name,它可以工作。
为什么不truncate?

【问题讨论】:

标签: oracle parent-child truncate cascading-deletes


【解决方案1】:

试试:

TRUNCATE TABLE <tablename>;

在禁用 FK 约束之后。

截断不能回滚,因为它是DDL rather than DML,所以要小心。 它还会重置被截断表的高水位标记。

有关 Oracle 文档的说明,请参阅 here。 和here 进行比较。

注意:您不能截断已启用外键约束的父表。您必须在截断表之前禁用约束。一个例外是,如果完整性约束是自引用的,您可以截断表。

来自Oracle documantation。

希望对你有帮助...

【讨论】:

  • TRUNCATE 也重置身份列
  • @ntziolis:Oracle 没有“身份”列。
猜你喜欢
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2017-10-16
  • 2014-09-20
  • 2015-01-26
  • 2020-09-07
  • 1970-01-01
  • 2011-05-19
相关资源
最近更新 更多