Oracle在导入大量数据时,可能会被约束条件制约,导致导入数据失败。 这个时候我们需要暂时禁用约束,等导入数据后再启用约束。1.首先我们要禁用系统中所有的约束
--禁用所有外键约束 select 'alter table ' || table_name || ' disable constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R'使用上面提供的语句查询,结果如下图:
这时我们看到,已经对系统中所有的约束生成了禁用的sql语句,我们只需要执行生成的sql语句就可以了。
2.正常导入数据
3.导入数据结束以后我们再启用约束
--启用所有外键约束 select 'alter table ' || table_name || ' enable constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R'
启用约束同上,如图所示:
可以看到生成的sql语句差不多,只是把disable换成了enable。
执行生成的sql语句就可以了。