【发布时间】:2014-10-07 16:15:39
【问题描述】:
TRUNCATE 和 DELETE 命令做同样的工作,在这两种情况下数据都被操纵,那么为什么DELETE 命令在 DML 命令之下,而TRUNCATE 命令在 DDL 命令之下?
【问题讨论】:
TRUNCATE 和 DELETE 命令做同样的工作,在这两种情况下数据都被操纵,那么为什么DELETE 命令在 DML 命令之下,而TRUNCATE 命令在 DDL 命令之下?
【问题讨论】:
删除
截断
【讨论】:
truncate 可以激活触发器:“截断触发器”。
当我们使用 Truncate 时,我们正在取消分配由数据分配的整个空间,而不是保存到 undo-table-space。但是,在删除的情况下,我们将所有数据放入撤消表空间,然后我们将删除所有数据。 将 TRUNCATE 置于 Oracle 上的 DDL 阵营的主要观点是:
【讨论】:
嗯,基本上你知道 DML 和 DDL 的概念,上面的区别只是记住,但关键的区别是 截断只处理数据而不影响表结构和键约束,但 另一方面 删除会影响带有 where 条件的表。
【讨论】: