记录-数据库历史数据查询、恢复

参考博客:https://blog.csdn.net/yelllowcong/article/details/78459484

一、起因

想着在测试库执行update语句,不小心在正式库执行了,而且where条件写的有问题,把想要更新之外的数据也更新了。

二、首先查询某张表的历史数据(根据时间点查询)

SELECT
*
FROM
table_name AS OF timestamp to_timestamp( '2022-02-18 14:40:00', 'yyyy-mm-dd hh24:mi:ss' )

三、导出查询的数据(表数据可能很多,自己加上where条件,查出改过的数据就好)

 

 

 

 

 

 

 

 

 全部下一步就好了,然后开始,这就导出了被修改之前的数据。

四、恢复数据

我的做法是先复制一个相同结构的空表

1.右键表

 

 

 2.导入刚刚导出的数据

 

 

 

 

 

 选择文件,勾选,然后下一步

 

 

 下面这个不用改动

 

 

 下一步,然后开始,等导入完就好了。

3.导入完成后,写sql把修改的数据再修改回去

Oracle数据库两表关联更新

UPDATE T1 
SET T1.FMONEY = (select T2.FMONEY from t2 where T2.FNAME = T1.FNAME)
WHERE EXISTS(SELECT 1 FROM T2 WHERE T2.FNAME = T1.FNAME);

参考博客:https://www.cnblogs.com/gudaozi/p/8618322.html

 ok了。

五、其他博客方法

https://blog.csdn.net/weixin_35231615/article/details/116370919

如下截图:

不知道数据恢复能不能加where条件,不恢复整张表行不行,也不知道快不快,会不会卡住其他的sql无法执行,不大敢用

 

posted @   qlnx  阅读(1268)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示