imp导入前对当前用户清库脚本


--清空当前用户所有表
begin
for i in ( select 'drop table '|| a.tab_name as sqls from (select distinct t.tab_name from (select Lower(table_name) as tab_name from user_tables) t) a ) loop
dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

--清空当前用户视图
begin
for i in ( select 'drop view ' || view_name ||' ' as sqls from user_views ) loop
dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

--清空当前用户函数
begin
for i in ( select 'drop function ' || object_name ||' ' as sqls from user_objects where object_type='FUNCTION' ) loop
dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

--清空当前用户存储过程
begin
for i in ( select 'drop procedure ' || object_name|| ' ' as sqls from user_objects where object_type='PROCEDURE' ) loop
dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

--清空当前用户包
begin
for i in ( select 'drop procedure ' || object_name|| ' ' as sqls from user_objects where object_type='PROCEDURE' ) loop
dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

--清空用户自定义类型对象
begin
for i in ( select 'drop '|| o.OBJECT_TYPE||' ' ||o.OBJECT_NAME || ' force ' as sqls from user_objects o where o.OBJECT_TYPE like 'TYPE' or o.OBJECT_TYPE like 'type' ) loop
    dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

--清空用户自定义序列对象
begin
for i in ( select 'drop '|| o.OBJECT_TYPE||' ' ||o.OBJECT_NAME as sqls from user_objects o where o.OBJECT_TYPE like 'SEQUENCE' or o.OBJECT_TYPE like 'sequence' ) loop
    dbms_output.put_line(i.sqls);
execute immediate i.sqls;
end loop;
end;
/

posted @ 2017-09-30 22:15  Mr.R123  阅读(301)  评论(0编辑  收藏  举报