1、删除所有数据库表
select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views;
--------------------------------------------
drop table LO_CASEINFO;
drop table LO_HARMONIZECASE;
drop table LO_LAWCHECK;
drop table LO_LEGISLATIONITEM;
drop table LO_TRAINBATCH;
drop table OA_IMPRESS;
drop table OA_SYSGROUP;
就可以复制所有表的drop语句了,一次批量执行完。
还有另外一个方法imp时使用ignore参数,可以忽略已经存在的对象,免除手动删除表的操作:
2、同理删除其他数据
select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views;
select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences;
select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION';
select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE';
select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE';
参数说明:
Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignore参数的设置来决定如何操作。
若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据插入到表中,假如插入的记录违反了约束条件,比如主键约束,则出错的记录不会插入,但合法的记录会添加到表中。
若ignore=n,Oracle不执行CREATE TABLE语句,同时也不会将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。