有关Orcale中update误更新的解决办法
假如有个表叫 Student 其中有个字段名叫 age
某一次失误更新使用了语句
update Student set age ='18'
忘记添加更新条件 ---- 导致该表所有age变为18
想要回复到原来未更新的数据时有如下办法
1.下面是:查询到更新之前的表的数据
SELECT * FROM Student AS OF TIMESTAMP SYSDATE - 3/1440
对SQL的解释说明:
SYSDATE :当前时间
1440 :24h*60m=1440m
3:3分钟前
注意:检查该数据是否是更新之前的数据,确定之后再使用下面的更新语句(不是就增加时间5分钟/10分钟什么的)
2.而后根据id关联的方式对表进行更新
update student a
set a.age=
(select age
FROM Student AS OF TIMESTAMP SYSDATE - 3/1440
where a.id = id)
如此之后 表中所有的age值就改变回了更新之前的值了。
自己工作上出了点小失误还好及时的改回来了 好险好险 以后要多多注意! 自己写个博客记录一下
转自:https://blog.csdn.net/laoyingat/article/details/52779427#commentBox