Oracle执行DELETE语句后,回滚(还原)数据 3个月前

第一步:删除数据 DELETE FROM "EMPLOYEER" WHERE id = '123'

第二步:查看数据列表(判断第一步中数据是否被删除) SELECT * FROM "EMPLOYEER" AS OF timestamp to_timestamp( '2024-05-22 11:51:00', 'yyyy-mm-dd hh24:mi:ss' )

第三步:回滚(还原)已删除数据 flashback TABLE "EMPLOYEER" TO timestamp to_timestamp('2024-05-22 11:48:00','yyyy-mm-dd hh24:mi:ss')

第四步:当执行第三步出现报错ORA-08189: cannot flashback the table because row movement is not enabled(未启用行移动功能,不能闪回表),执行此步骤。执行完此步骤,再执行第三步 ALTER TABLE "EMPLOYEER" enable ROW movement

具体含义

  1. AS OF 是Oracle闪回查询的关键字,表示要查询表在某个时间点的数据
  2. timestamp 指定时间点的类型是时间戳

完整语句含义 这条SQL语句的意思是:查询EMPLOYEER表在2024-05-22 11:48:00时刻的数据状态。

攲枕苍竹聆晚风
宇宙很大,生活更大,也许以后还有缘相见。
5
发布数
0
关注者
3318
累计阅读

热门教程文档

Spring Boot
24小节
Djiango
17小节
Python
76小节
Rust
84小节
C#
57小节