2009-11-30 7 views
-1

有沒有什麼辦法只在同一個會話中看到提交的數據。 Like 用戶更新了一個包含10行並已提交的表。 然後再次更新20行,但沒有提交,所以在這裏用戶A應該只看到提交的數據(10個更新行)用戶是否可以在同一會話中只看到已提交的數據?

+3

我很好奇你爲什麼要這樣做。 – 2009-11-30 13:10:00

+0

您可以將數據庫隔離級別設置爲READ COMMITTED,那麼只能在查詢數據庫時獲取提交的數據。 謝謝 – 2009-11-30 13:10:19

+0

對於Oracle,另一個會話只能看到提交的數據。 OP在詢問正在進行修改的會話。 – 2009-11-30 14:02:24

回答

2

您可能想要(ab)使用自主事務來完成此操作。只需使用PRAGMA AUTONOMOUS_TRANSACTION在函數中運行查詢,它只會看到提交的數據。

+0

+1。這是一個很好的建議。 – Guru 2009-11-30 13:35:05

0

沒錯,

你想用一個存盤點。

A better link on save points

Save point link

一個存盤點可以讓你交易的一部分後保存就完成了。然後,如果第二部分回滾,您將在保存點之前保留更改,並在保存點之後丟失更改。

+0

對不起,我想我錯過了關於在同一個會議內的觀點。 – 2009-11-30 13:08:59

相關問題