一、事務(wù)
?? 事務(wù):用于保證數(shù)據(jù)的一致性,它由一組相關(guān)的 DML 語(yǔ)句組成,該組的 DML 語(yǔ)句要么全部成功,要么全部失敗。
?? 例如:網(wǎng)上轉(zhuǎn)賬就是典型的要用事務(wù)來(lái)處理,用以保證數(shù)據(jù)的一致性。
二、事務(wù)和鎖
?? 當(dāng)執(zhí)行事務(wù)操作時(shí)( DML 語(yǔ)句),Oracle 會(huì)在被作用的表上加鎖,防止其他用戶(hù)改表的結(jié)構(gòu)。
三、提交事務(wù)
?? 當(dāng)執(zhí)行使用 commit 語(yǔ)句可以提交事務(wù),當(dāng)執(zhí)行了 commit 語(yǔ)句子后,會(huì)確認(rèn)事務(wù)的變化、結(jié)束事務(wù)、刪除保存點(diǎn)、釋放鎖,當(dāng)使用 commit 語(yǔ)句結(jié)束事務(wù)子后,其他會(huì)話(huà)將可以查看到事務(wù)變化后的新數(shù)據(jù)。
四、回退事務(wù)
?? 保存點(diǎn)是事務(wù)中的一點(diǎn),用于取消部分事務(wù),當(dāng)結(jié)束事務(wù)時(shí),會(huì)自動(dòng)刪除該事務(wù)所定義的所有保存點(diǎn),當(dāng)執(zhí)行 rollback 時(shí),通過(guò)指定保存點(diǎn)可以回退到指定的點(diǎn)。
五、事務(wù)幾個(gè)重要操作
1 )設(shè)置保存點(diǎn)
savepoint a;
2 )取消部分事務(wù)
rollback to a;
3 )取消全部事務(wù)
rollback;
六、只讀事務(wù)
??指只允許執(zhí)行查詢(xún)的操作,而不允許執(zhí)行任何其他DML操作的事務(wù),使用只讀事務(wù)可以確保用戶(hù)只能取得某時(shí)間點(diǎn)的數(shù)據(jù)。
//設(shè)置只讀事務(wù)
set transaciton read only;