where
句を忘れた、指定をミスった、しかもコミットまでしちゃった!というときにデータを戻すためのSQL(フラッシュバッククエリ)です。
TARGET_TBL
テーブルのtarget_column
を20分前の値に戻すSQL
update TARGET_TBL target
set
target_column = (
select
target_column
from
TARGET_TBL as of timestamp (systimestamp - interval '20' minute)
where
target.key_column = TARGET_TBL.key_column
)
直接参照日時のtimestampを指定してもOK
as of timestamp to_timestamp('2021-11-21 09:30:00', 'YYYY-MM-DD HH:MI:SS')
Link