Java 数据还原(数据库存在驻主外键关系)

Java 数据还原(数据库存在驻主外键关系)

     公司要求需要将数据备份,以防数据有错误时,还原数据

    数据备份在sql文件此处略,可参考数据备份在csv,同理。拼接sql存放在sql文件

   数据还原,由于公司数据库中表与表之间的有主外键约束,在删除数据时,需要将外键表删除,才能删主表,而且主表还不能用truncate table,所以统一用delete 删除。

    将sql文件的sql文件批量导入之前,需要将数据库中的外键约束禁止,才能将原始数据导入,用

select 'alter table '|| t.table_name||' disable constraint '||t.constraint_name tvalue from user_constraints t where t.constraint_type = 'R'  order by t.table_name

禁止所有外键约束的语句

将上面获取的集合sql批量执行即可,然后将所有表删除,数据还原后则需要启用外键约束还原

select 'alter table '|| t.table_name ||' enable constraint '||t.constraint_name  from user_constraints t where t.constraint_type = 'R'  order by t.table_name

猜你喜欢

转载自zhao103804.iteye.com/blog/2236564