在开发过程中,我们有时候不注意,写的脚本漏了where 条件或者因其他原因,导致数据更新错误,在没有执行install语句前,可以根据时间点将数据恢复还原。
查询修改的数据
select cert_cd from crm as of timestamp to_timestamp('2019-10-22 16:30:46','yyyy-mm-dd hh24:mi:ss');
1、修改还原单个字段的数据
update crm t1 set t1.cert = (select cert from crm as of timestamp to_timestamp('2019-10-22 16:30:46','yyyy-mm-dd hh24:mi:ss') where t1.sn = sn);
2、修改还原整个表数据
-- 查询删除的表数据 select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss') -- 把删除的数据重新插入原表: insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')); -- 注意要保证主键不重复。 -- 例如: insert into TEST (select * from TEST as of timestamp to_timestamp('2020-01-16 17:30:46','yyyy-mm-dd hh24:mi:ss'));