方法:使用“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教程》
以上就是oracle如何删除用户下的所有表?的详细内容,转载自php中文网
发表评论 取消回复