方法:使用“SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;”查詢;將查詢結果復制,在sql命令窗口里再執行一次就可刪除所有的表。
Oracle中刪除某個用戶下的所有表
一般的方法:
先使用sql查詢:
SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;
將查詢結果復制一下,在sql命令窗口里再執行一次就刪除了所有的表。
還有一種更全面的刪除:
和上一中類似,先使用sql查詢:
select 'drop table '||table_name||';' from cat where table_type='TABLE' ORDER BY TABLE_NAME;
這個查詢的是cat表,查詢的結果條數會大于上一種,因為里面包含了BIN$開頭的表,oracle中刪除表后會有殘留,如果想要把這些殘留的表也刪除就要中這個查詢sql了,然后像上一種方法一樣
將查詢結果復制一下,在sql命令窗口里再執行一次就刪除了所有的表。
推薦教程:《Oracle教程》