时间:2021-07-01 10:21:17 帮助过:42人阅读
今天一不小心,删掉了不该删的数据,在网上找了个方法,步骤如下: 1、创建一个临时表,存放你做删除操作之前的数据。至于删除操作是什么时候做的,在最后的参数给出。 下面语句是最近一个小时内的操作。 CREATE TABLE QUICK_TABLE AS SELECT * FROM t_accou
今天一不小心,删掉了不该删的数据,在网上找了个方法,步骤如下:
1、创建一个临时表,存放你做删除操作之前的数据。至于删除操作是什么时候做的,在最后的参数给出。
下面语句是最近一个小时内的操作。
CREATE TABLE QUICK_TABLE AS
SELECT * FROM t_account AS OF TIMESTAMP SYSDATE-1/24;
2、得到删除之前和删除操作之后两张表的差异,并将删除的数据插入到现在表中。
insert into t_account (
select q.* from QUICK_TABLE q where q.account_id in ((select q.account_id from QUICK_TABLE q ) minus ( select ta.account_id from t_account ta ))
)