oracle需要顯式結束事務

2021-08-22 15:39:12 字數 379 閱讀 6503

oracle不需要顯式的開始事務,

事務會在修改資料的第一條語句處開始,但是oracle必須顯示結束事務。這個和informix不一樣,在informix資料庫中,如果不顯式宣告事務的話,則每條修改的語句都是單獨的事務,並馬上自動提交。

這是兩個資料庫在鎖和事務實現的機制不一樣,在informix中鎖是一種很重要的資源,所以事務最好盡快結束;而在oracle中鎖的開銷很小,甚至是「沒有」 開銷,所以oracle中系統認為事務應該可以很長。

如果忘記結束事務,不同的環境下會產生不同的預設行為:

如果正常地退出sql*plus會話,而沒有提交或回滾事務,sql*plus就會認為你希望提交前面做的工作,並為你完成提交。另一方面,如果你只是退出乙個pro*c程式,就會發生乙個隱式的回滾。

Oracle事務的開始與結束

事務是用來分割資料庫活動的邏輯工作單元,事務即有起點,也有終點 當下列事件之一發生時,事務就開始了 連線到資料庫上,並執行了第一天 dml 語句 當前乙個事務結束後,又輸入了另外一條 dml 語句 當下列事件之一發生時,事務就結束了 執行 commit 或 rollback語句 執行一條 dll語句...

Oracle隱式游標和顯式游標

oracle隱式游標和顯式游標,游標是什麼?就是在記憶體開闢的一塊臨時儲存空間。1.1oracle有常用的哪些隱式游標 1.2 oracle隱式游標演示 隱式游標 使用的表為oracle預設自帶的emp表 sql rowcount 影響記錄條數 sql found 是否有滿足條件的記錄 set se...

使用Oracle顯式游標及for迴圈

使用隱式游標和顯式游標 1.查詢返回單行記錄時 隱式游標 2.查詢返回多行記錄並逐行進行處理時 顯式游標 顯示游標屬性 declare cursor cur emp is select from emp row emp cur emp rowtype begin open cur emp fetch...