Oracle删除指定用户下所有对象

--.sql脚本

--唯一注意的是下面的d:\dropuserobj.sql为操作的.sql;



--用于删除当前用户的所有对象

--use for drop all objects in current user;

set heading off;

set feedback off;

spool d:\dropuserobj.sql;



 

prompt --删除约束条件

select 'alter table '||table_name||' drop constraint '||constraint_name||' ;'

from user_constraints where constraint_type='R';

 

prompt --删除表空间

select 'drop table '||table_name ||';' from user_tables;

 

prompt --删除视图

select 'drop view ' ||view_name||';' from user_views;

 

prompt --删除数字序列

select 'drop sequence ' ||sequence_name||';' from user_sequences;

 

prompt --删除函数

select 'drop function ' ||object_name||';'  from user_objects

where object_type='FUNCTION';



prompt --删除存储过程

select 'drop procedure '||object_name||';' from user_objects

where object_type='PROCEDURE';

 

prompt --删除包

prompt --删除包内容

select 'drop package '|| object_name||';' from user_objects

where object_type='PACKAGE';



prompt --删除数据库链接

select 'drop database link '|| object_name||';' from user_objects

where object_type='DATABASE LINK';

 

spool off;

set heading on;

set feedback on;



@@d:\dropuserobj.sql;



host del d:\dropuserobj.sql;



--done for drop objects in current user;

--在SQL*PLUS 将这整段作为.sql导入或者直接复制黏贴,按F5执行,完成。

 

你可能感兴趣的:(oracle)