需求:
做为开发人员,经常需要导入导出数据库,但是导入前需要删除原有用户的所有对象,如:表,索引,函数等,
我现在的做法是用pl/sql一个一个的选择,然后再删,这样做起来非常的麻烦,
弄个了sql语句,从user_objects中删,但是一直报错,现求一段代码能删除指定用户下的所有对象,sql语句也行,
过程也行给分原则:有好的答案,一直给分,多多益善
做为开发人员,经常需要导入导出数据库,但是导入前需要删除原有用户的所有对象,如:表,索引,函数等,
我现在的做法是用pl/sql一个一个的选择,然后再删,这样做起来非常的麻烦,
弄个了sql语句,从user_objects中删,但是一直报错,现求一段代码能删除指定用户下的所有对象,sql语句也行,
过程也行给分原则:有好的答案,一直给分,多多益善
如
select 'drop table '||tname ||';' from tab;把生成的结果拿去执行就是了,上面产生的是删除表的语句或是做个过程用上面的查询语句产生一个游标,用dbms_sql逐条执行他
create or replace procedure droptables
as
begin
for rectbl in (select table_name from user_tables)
loop
execute immediate 'drop table ' || rectbl.table_name;
end loop;
end;
如果有外键的话,删表之前要先把外键disable