问题:
36. Evaluate the following statements:
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;
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.
Answer: C
为什么选C
答:
显然楼上所有人都没注意到 楼主的查询语句是上面条件:
SELECT description FROM digits VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE;
楼上大家都说跟环境有关,错误!同一个session里楼主的查询语句也是返回 C答案
因为关键是红色部分
其实这跟Oracle中的flashback version query 有关,用来查到之前的“历史变化”数据。 Flashback version query是通过from语句的扩展语句 versions between.
问题出处:
http://topic.csdn.net/u/20100620/11/ab416ee3-face-4239-ae29-7e9a8f62db77.html?42113