有兩種情況:
同一個 Session
已 maintain 但未 Commit 的資料, 其 Select 出來的資料值為 maintain 之後的結果.
若中途有 Rollback 時, 其 Select 出來的資料值為 maintain 之前.
不是同一個 Session
已 maintain 但未 Commit 的資料, 其 Select 出來的資料值, 仍為 maintain 之前的結果.
範例
-- 1) 建立 Temp Table
create table tom1 (
aa number
, bb varchar2(100)
);
-- 2) 新增一筆資料, 但尚未 commit
insert into tom1 values( 1, 'A' );
-- 3) 查詢有無資料
select *
from tom1
-- 4) commit 之前, 看看其他 DB Session 是否可查到資料
--5) commit 之後, 再看看其他 DB Session 是否可查到資料
commit;
以上, 希望對各位有所幫助.