oracle evaluate,ORACLE VERSIONS 用法 | 学步园

OCA SQL试题

Evaluate the following statements:

CREATE TABLEdigits

(idNUMBER(2),

descriptionVARCHAR2(15));INSERT INTO digits VALUES (1,'ONE');UPDATE digits SET description ='TWO' WHERE id=1;INSERT INTO digits VALUES (2,'TWO');COMMIT;DELETE FROMdigits;SELECT description FROMdigits

VERSIONSBETWEEN TIMESTAMP MINVALUE AND MAXVALUE;

What would be the outcome of the above query?

A. It would not display any values.

B. It would display the value TWO once.

C. It would display

the value TWO twice.

D. It would display the values ONE, TWO, and TWO.

在 Oracle9iDatabase 中,我们看到它推出了以闪回查询形式表示的“时间机器”。该特性允许 DBA 看到特定时间的列值,只要在还原段中提供该数据块此前镜像的拷贝即可。但是,闪回查询只提供某时刻数据的固定快照,而不是在两个时间点之间被更改数据的运行状态表示。某些应用程序,如涉及到外币管理的应用程序,可能需要了解一段时期内数值数据的变化,而不仅仅是两个时间点的数值。由于闪回版本查询特性,Oracle Database 10g能够更方便高效地执行该任务。

使用方法:

VERSIONS BETWEEN TIMESTAMP [lower bound] AND [upper bound]

VERSIONS BETWEEN SCN [lower bound] AND [upper bound]

lower bound/ upper bound 可以是具体的timestamp/scn, 也可以是关键字minvalue/maxvalue. 这些关键字让Oracle去找到所有的versions, 当然这要受制于undo_retention参数设置的大小,毕竟这部分信息是放在undo segment上的。

Oracle 10g提供了一些pseudo-columns来帮助我们分析每个version的数据,

VERSIONS_STARTTIME (start timestamp ofversion);

VERSIONS_STARTSCN (start SCNofversion);

VERSIONS_ENDTIME (end timestamp ofversion);

VERSIONS_ENDSCN (end SCN ofversion);

VERSIONS_XID (transaction ID ofversion);

VERSIONS_OPERATION (DML operationofversion);selectdescription,versionS_starttime, versionS_endtime, versionS_xid,versionS_operationfromdigits

versionsbetween timestamp minvalue and maxvalue ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值