oracle自主事務處理

2021-09-26 02:38:29 字數 672 閱讀 5115

假如乙個儲存過程中呼叫了另外乙個儲存過程,為了使兩個儲存過程之間的事務不會相互影響,就需要自主事務處理,下面舉例。

create or replace procedure proc_useradd1

ispragma autonomous_transaction;  -- 用於標記子程式為自主事務處理

begin

insert into userinfo(userid,username) values(1,'張三');

rollback;

end;

create or replace procedure proc_useradd2

isbegin

insert into userinfo(userid,username) values(2,'李四');

proc_useradd1();  -- 呼叫過程proc_useradd1

commit;

end;

如上,儲存過程proc_useradd2呼叫了proc_useradd1,proc_useradd1裡面宣告了它是自主事務處理的,所以兩個子程式的事務不會相互影響,因此呼叫proc_useradd2之後,會向表userinfo中新增一條(2,'李四')記錄,如果在proc_useradd1中沒有宣告自主事務處理的話,那麼insert的資料就會全部被回滾,表中將不會新增進任何資料。

Oracle自主事務處理

2013 03 22 10 20 4358673ym 分類 資料庫db 分享到 2013 03 22 10 26 提問者採納 熱心 自主事務處理,就是 我這個儲存過程裡面,自己管理事務處理。我自己的對資料作了修改,提交了,那麼就提交了。無視外部的事務,是否提交或者回滾。這個主要用於一些特殊的情況,例...

Oracle與SQL Server事務處理的比較

事務處理是所有大型資料庫產品的乙個關鍵疑問,各資料庫廠商都在這個方面花費了很大精力,不同的事務處理方式會導致資料庫效能和功能上的巨大差異。事務處理也是資料庫管理員與資料庫運用 程式開發人員必須深刻理解的乙個疑問,對這個疑問的疏忽可能會導致運用 程式邏輯不正確以及效率低下。下面我們針對oracle及s...

oracle後台記憶體事務處理

檢查點程序 觸發檢查點,記憶體硬碟的資料同步,寫系統改變號到控制檔案和資料檔案,並觸發dbwr程序寫快取資料到資料庫,同時也會觸 發lgwr程序,使日誌緩衝區的資料寫入日誌表,同時切換日誌組,對日誌進行歸檔。檢查點觸發時機 日誌組切換 例項關閉 手工發出 fast start mttr target...