Monday, March 19, 2007

Быстро сфлэшбэчиться

Примеры флэшбэка.
Самый частый и быстро исправляемый случай - Юзер по запарке менее чем полчаса назад удалил сообщение из таблицы message.
--
select * from message order by msg_date desc;
delete from message where msg_date > '18.03.2007'
commit;
create table t1 as
select * from message as of
timestamp sysdate-1/24/60*30 where msg_date > '18.03.2007';
select * from t1;
insert into message select * from t1;
--или по тупому затолкать все, что было полчаса назад
insert into message select * from message as of timestamp sysdate-1/24/60*30 where msg_date > '18.03.2007';
commit;
2) ...

1 comment:

pinbol said...

делать msg_date > '18.03.2007' - значит применять неявное преобразование, лучше msg_date > to_date('18.03.2007')