2

我在 Oracle 12c 中创建了表 t1。表有数据,它在列表分区上分区,也有子分区。

现在我想删除整个表和所有关联的分区(和子分区)。

这是删除所有命令的正确命令吗?

DROP TABLE t1 PURGE; 
4

2 回答 2

3

当您运行时DROP,该表将完全从数据库中删除,即该表不再存在。

如果您只想从该表中删除所有数据,请运行

truncate table T1 drop storage;

如果需要,您还可以截断单个(子)分区。

于 2017-10-19T16:24:54.950 回答
3

语法是正确的,但不是可取的,

只需删除而不清除,以便在您需要时可以将其取回,如果您启用了闪回选项。如果您的数据库的闪回选项负责,您可以发出此命令(前提是您不使用清除):

SQL> DROP TABLE T1;
SQL> FLASHBACK TABLE T1 TO BEFORE DROP RENAME TO T1_ver_2;
于 2017-10-19T16:02:41.287 回答