您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Oracle系列中事務(wù)有什么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Oracle系列中事務(wù)有什么用”這篇文章吧。
回顧什么是事務(wù)? 一個(gè)不可分割的子操作形成一個(gè)整體,該整體要么全部執(zhí)行成功,要么全部執(zhí)行失敗。例如:轉(zhuǎn)帳 回顧為什么要用事務(wù)? 如果不用事務(wù)的話,為轉(zhuǎn)帳為例,可能出現(xiàn)一個(gè)用戶錢增加了,另一個(gè)用戶錢不變 回顧編程中,事務(wù)可用于哪一層? 事務(wù)放在業(yè)務(wù)層 回顧jdbc編程中,如何使用事務(wù)? connection.setAutoCommit(false); pstmt.executeUpdate(); connection.commit(); connection.rollback(); 回顧hibernate編程中,如何使用事務(wù)? transaction.begin(); session.save(new User()); transaction.commit(); transaction.rollback(); 回顧spring編程中,如何使用事務(wù)? spring可以分為二種 >編程式事務(wù),藕合 >聲明式事務(wù),解藕,提倡 |
Oracle的事務(wù)只針對DML操作,即select/insert/update/delete
回顧MySQL的事務(wù)開始:start transaction |
Oracle的事務(wù)開始:第一條DML操作做為事務(wù)開始
Oracle的提交事務(wù)
(1)顯示提交:commit
(2)隱藏提交:DDL/DCL/exit(sqlplus工具)
注意:提交是的從事務(wù)開始到事務(wù)提交中間的內(nèi)容,提交到ORCL數(shù)據(jù)庫中的DBF二進(jìn)制文件
Oracle的回滾事務(wù)
(1)顯示回滾:rollback
(2)隱藏回滾:關(guān)閉窗口(sqlplus工具),死機(jī),掉電
注意:回滾到事務(wù)開始的地方
回顧什么是回滾點(diǎn)?
在操作之間設(shè)置的一個(gè)標(biāo)志位,用于將來回滾之用
回顧為什么要設(shè)置回滾點(diǎn)?savepoint a;rollback to savepoint a;
如果沒有設(shè)置回滾點(diǎn)的話,Oracle必須回滾到事務(wù)開始的地方,其間做的一個(gè)正確的操作也將撤銷
使用savepoint 回滾點(diǎn),設(shè)置回滾點(diǎn)a
savepoint a;
使用rollback to savepoint,回滾到回滾點(diǎn)a處
rollback to savepoint a;
Oracle提交或回滾后,原來設(shè)置的回滾點(diǎn)還有效嗎?
原回滾點(diǎn)無效了
Oracle之所以能回滾的原因是?
主要機(jī)制是實(shí)例池
回顧MySQL支持的四種事務(wù)隔離級別及能夠解決的問題
(1)read uncommitted -- 不能解決任何缺點(diǎn)
(2)read committed -- 臟讀,Oracle默認(rèn)
(3)reapatable read -- 不可重復(fù)讀,臟讀,MySQL默認(rèn)
(4)serializable -- 幻讀,不可重復(fù)讀,臟讀,效率低
注意:jdbc/dbutils速度快,但書寫煩
mybaits速度中等,但書寫"中等"
hibernate速度慢,但書寫"爽"
Oracle支持的二種事務(wù)隔離級別及能夠解決的問題
Oracle支持:read committed 和 serializable
Oracle中設(shè)置事務(wù)隔離級別為serializable
set transaction isolation level serializable;
演示二個(gè)用戶同時(shí)操作emp表,刪除KING這條記錄,會(huì)有什么后果?
因?yàn)橛懈綦x級別的存在,所以不會(huì)出現(xiàn)二個(gè)用戶都刪除了KING這條記錄,
一定是一個(gè)用戶刪除KING成功,在該用戶沒有提交的情況下,另一個(gè)用戶等待
以上是“Oracle系列中事務(wù)有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。