Oracle数据误插入,希望回滚。
思路一:将插错的数据插入到新表,然后将旧表删除,新表改为旧表名。
思路二:利用Oracle的闪回功能(据说是9i以后的版本才有此功能,未核实)
--验证希望闪回到某时间点的之后的数据条数,是否是刚刚插入的条数
select COUNT(*) from TABLE_NAME as of timestamp to_timestamp('2022-08-09 13:40:00','yyyy-mm-dd hh24:mi:ss');
--允许行移动
alter table TABLE_NAME enable row movement;
--进行闪回操作
flashback table AIR_FLITE_BASE to timestamp TO_TIMESTAMP('20220809 13:40:00','YYYYMMDD HH24:MI:SS');