Oracle 12c - 删除表和所有关联的分区

时间:2017-10-19 15:41:36

标签: oracle sql-delete partitioning drop-table

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

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

这是删除全部的正确命令吗?

DROP TABLE t1 PURGE; 

2 个答案:

答案 0 :(得分:2)

语法正确但不可取,

只需在没有清除的情况下删除,以便在您需要时可以将其恢复,如果启用了闪回选项。如果您的数据库的闪回选项是负责的,您可以发出此命令(假设您不使用清除):

SQL> DROP TABLE T1;
SQL> FLASHBACK TABLE T1 TO BEFORE DROP RENAME TO T1_ver_2;

答案 1 :(得分:2)

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

如果您只想删除该表格中的所有数据

truncate table T1 drop storage;

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