是否可以回滚已提交的已删除记录,因为我的程序已从表中删除了记录。
Delete from TC_trans;
Commit;
现在我想要找回它。
答案 0 :(得分:1)
据我所知,您可以发出闪回查询来检索已删除的记录。下面给出示例供您参考。请在发出此查询后检查是否检索到相应的记录。
insert into v (select * from v as of timestamp(systimestamp - interval '60' minute));
您还可以发出减号查询,如下所示。
insert into v (select * from v as of timestamp(systimestamp - interval '60' minute)) minus select * from v;
请阅读完整的闪回声明以了解该概念。谢谢。
参考:http://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_fl.htm
答案 1 :(得分:1)
不,你不能。使用COMMIT
,您已决定不回滚,但提交。
但是,您可以访问已删除的数据,从而使用闪回查询进行抢救。 E.g:
select * from tc_trans as of timestamp systimestamp - 0.1;
有关闪回查询的更多信息,请访问:https://docs.oracle.com/cd/B19306_01/backup.102/b14192/flashptr002.htm。