插入,更新和删除后的版本查询输出

时间:2015-06-10 11:38:34

标签: sql database oracle11g flashback

以下是与Oracle SQL Expert考试相关的问题,有4个选择。它说正确的答案是C.但我怀疑并认为D应该是答案,因为它使用Oracle FlashBack技术。请有人解释一下。

谢谢。

问)评估以下陈述:

CREATE TABLE digits
(id NUMBER(2),
description VARCHAR2(15));
INSERT INTO digits VALUES (1,'ONE');
UPDATE digits SET description='TWO' WHERE id=1;
INSERT INTO digits VALUES (2, 'TWO');
COMMIT;
DELETE FROM digits;
SELECT description FROM digits
VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE;

上述查询的结果是什么?

一个。它不会显示任何值。

B中。它会显示值TWO一次。

℃。它会两次显示值TWO。

d。它将显示值ONE,TWO和TWO。

答案:C

1 个答案:

答案 0 :(得分:1)

这是一个棘手的问题,但答案确实是C,因为“ONE”的原始值从未提交,两个记录都添加在同一个事务中,因此只有一个“版本”包含两行,两行都有“TWO”的描述。