oracle数据库如何清除一个用户下的所有表?

2026年09月24日 00:58
有5个网友回答
网友(1):

还不如以system账户登录,然后把该用户删了:drop user user1 cascade;
如果还需要该账户,再重新建一个:create user user1 identified by xxxxx;

网友(2):

在该用户下写一个存储过程(要保证该用户并不是以dba身份登录的,不然会把系统表都删掉)
create or replace procedure pro_droptable is
cursor cur is select table_name from user_tables;
drop_sql varchar2(1000);
begin
for tbname in cur loop
begin
drop_sql:='drop table '||tbname.table_name;
execute immediate drop_sql;
end;
end loop;
end pro_droptable;

执行语句:call pro_droptable()

网友(3):

还不如以system账户登录,然后把该用户删了:drop user user1 cascade;如果还需要该账户,再重新建一个:create user user1 identified by xxxxx;

网友(4):

最简单的办法就是把用户和里面的数据都删除掉drop user name cascade;

网友(5):

先drop 在create