我在Oracle 12c中创建了表t1。 表有数据,它在列表分区上分区,也有子分区。
现在我想删除整个表和所有相关分区(和子分区)。
这是删除全部的正确命令吗?
DROP TABLE t1 PURGE;
答案 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;
如果需要,您还可以截断单个(子)分区。