versions between

Versions between版本查詢
       oracle 10g開始,提供了功能更加強大的閃回版本查詢,通過versions between能夠查看指定時間段內undo表空間中記錄的不同版本(注意,只包括被提交的記錄)。
在標準查詢後面附加versions between timestamp[/scn] t1 and t2即可。記錄在版本查詢中可能會是一對多的關係,比如某些記錄如果被修改過多次,並分別提交,那麼你在查詢的時候,如果修改的操作是在你指定的時間段(或scn),則記錄每次修改的結果都會被選擇出來,這比較有利於我們做數據的對比,比如看看數據究竟是怎麼變化的。
 
 版本查詢過程中提供了多個僞列如下:

VERSIONS_STARTSCN     --該記錄操作時的scn

VERSIONS_STARTTIME    --該記錄操作時的時間
如果爲空,表示該行記錄是在查詢範圍外創建的。

 

VERSIONS_ENDSCN    --該記錄失效時的SCN

VERSIONS_ENDTIME   --該記錄失效時的時間

如果爲空,說明記錄當前時間在當前表內存在,或者已經被刪除了,可以配合着VERSIONS_OPERATION列來看,如果VERSIONS_OPERATION列值爲D,說明該列已被刪除,如果該列爲空,則說明記錄在這段時間無操作。

 

VERSIONS_OPERATION     --對該行執行的操作:I表示insert,D表示delete,U表示update。

提示:對於索引鍵的update操作,版本查詢可能會將其識別成兩個操作:DELETE和INSERT。 

 

VERSIONS_XID     --該操作的事務ID 

發佈了46 篇原創文章 · 獲贊 30 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章