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

第一步:删除数据 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时刻的数据状态。

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

tidb使用坑记录

1、对硬盘要求很高,没上SSD硬盘的不建议使用2、不支持分区,删除数据是个大坑。解决方案:set@@session.tidb\_batch\_delete1; 3、插入数据太大也会报错解决方案:set@@session.tidb\_batch\_insert1; 4、删除表数据时不支持别名deletefrom表名表别名 

mysql数据库delete数据时不支持表别名

  今天在帮同事查看一条删除的SQL语句执行出错的问题  SQL语句如下:1DELETEFROMLEAD_SYSTEM_MENU_ORG_REFastWHEREt.resourceid'4028812348f28b890148f29253a80000'这条SQL语句放到Oracle数据库中去执行是可以正常执行的,但是放到M

MySQL 常用命令手册 增删改查大法

一、数据库操作创建数据库语法:CREATEDATABASEdatabase_name;删除数据库删除数据库务必谨慎!因为执行删除命令后,所有数据将消失。语法:DROPDATABASEdatabase_name;选择数据库语法:

SpringBoot整合Redis乱码原因及解决方案

问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa

SpringBoot整合Redis乱码原因及解决方案

问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa