您的位置:首页 > 数据库 > Oracle

Oracle闪回查询

2017-11-18 15:03 381 查看
闪回查询:查询在特定时间点存在的所有数据。

使用闪回查询功能,可以执行截止到特定时间的查询。使用SELECT语句的AS OF子句,可以指定要查看其对应数据的时间戳。这在分析数据差异时非常有用。

注:TIMESTAMP和SCN是AS OF子句的有效选项。

UPDATE employees
SET salary =
(SELECT salary FROM employees
AS OF TIMESTAMP TO_TIMESTAMP
('2005-05-04 11:00:00', 'yyyy-mm-dd hh24:mi:ss')
WHERE employee_id = 200)
WHERE employee_id = 200
 
闪回查询:示例
1、如果最近错误地给某个雇员加了薪,则可重新更改薪金,其值由子查询返回的闪回值提供。
2、在进行了insert、update时,想知道操作前后的数据差异

注意事项:
因为闪回查询是基于undo数据的,所以要保证闪回查询的那个时间点有undo数据就能够查询成功。

The UNDO_MANAGEMENT parameter must be set to AUTO。

The UNDO_RETENTION parameter must
be set appropriately。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 闪回 flashback