oracal清除用户下所有对象

//清除数据库对象,数据脚本
set heading off;  
set feedback off;  
spool c:\dropobjsqlbat.sql;  
  prompt --Drop constraint  
select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where constraint_type='R';

prompt --truncate tables  
select 'truncate table '||table_name ||';' from user_tables;
   
prompt --Drop tables  
select 'drop table '||table_name ||';' from user_tables;   
   
prompt --Drop view  
select 'drop view ' ||view_name||';' from user_views;  
   
prompt --Drop sequence  
select 'drop sequence ' ||sequence_name||';' from user_sequences;   
   
prompt --Drop function  
select 'drop function ' ||object_name||';'  from user_objects  where object_type='FUNCTION';  
 
prompt --Drop procedure  
select 'drop procedure '||object_name||';' from user_objects  where object_type='PROCEDURE';  
   
prompt --Drop package  
prompt --Drop package body  
select 'drop package '|| object_name||';' from user_objects  where object_type='PACKAGE';  
 
prompt --Drop database link  
select 'drop database link '|| object_name||';' from user_objects  where object_type='DATABASE LINK';  
     
spool off;  
set heading on;  
set feedback on;  
 
@@c:\dropobjsqlbat.sql;  

--若要删除生成的批处理文件,则将下面语句的注释去掉
host del c:\dropobjsqlbat.sql

在命令窗口里面执行

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2157188