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命令窗口里再执行一次就删除了所有的表。
————————————————
版权声明:本文为CSDN博主「九尾狐的yi巴」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiuweihu521/article/details/81115801

猜你喜欢

转载自www.cnblogs.com/nietzsche2019/p/11773034.html