在oracle数据库实际操作中,经常会使用delete语句删除数据,但有时会误操作了不应该删除的数据。
注意:delete删除的数据可以恢复,Truncate删除数据不可恢复。
举例说明:
create table t_test (id number(10));--创建一个测试表
select * from t_test;----查询表的数据
insert into t_test values (66);--插入几条数据
delete from t_test a where a.id = 33;--删除一条数据
oracle自身有一个时间戳,可以找回被误删除的数据。使用如下的SQL语句即可:
SELECT *
FROM (SELECT *
FROM t_ test as of timestamp(to_date('2017-10-17 16:40:02', 'yyyy-mm-dd hh24:mi:ss')))
--timestamp (sysdate -1)的括号中是时间 表名后不能用别名
WHERE id='33';
将得到的数据复制粘贴到原来表中即可(需要加条件的)。