0
create table samp
(
empno number(2),
ename varchar2(30),
sal number(7,2),
dob date
)
SQL>/
SQL> insert into samp values(1,'MASTAN',24000,'24-JUL-1987');
1 row created.
这里我没有提交数据,所以它在重做日志缓冲区,但是当检索时,下面的Query如何给出数据?内部是怎样工作的?好心建议我oracle声明如何工作?
SQL> SELECT * FROM SAMP;
EMPNO ENAME SAL DOB
---------- ------------------------------ ---------- ---------
1 MASTAN 24000 24-JUL-87
我认为你可以做的最好的事情是阅读11g或12c的Oracle概念指南,该指南介绍了数据库如何工作的许多细节。这是一个很大的阅读,但这样做会回答这个问题,许多人甚至不知道你还有什么。 –
我想你在谈论[撤消](https://docs.oracle.com/cd/E11882_01/server.112/e25494/undo.htm#i1006145),而不是在这里重做,但无论如何,与你无关'在同一个会话中查询。如果您询问另一个会话*而不是*看到该行,则撤消操作与读取一致性相关,如文档解释。 –