Oracle_事務(wù)控制語(yǔ)句-創(chuàng)新互聯(lián)

事務(wù)是對(duì)數(shù)據(jù)庫(kù)操作的邏輯單位,在一個(gè)事務(wù)中可以包含一條或多條DML (數(shù)據(jù)操縱語(yǔ)言)、DDL (數(shù)據(jù)定義語(yǔ)言)和DCL (數(shù)據(jù)控制語(yǔ)言)語(yǔ)句,這些語(yǔ)句組成一個(gè)邏輯整體。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供劍閣網(wǎng)站建設(shè)、劍閣做網(wǎng)站、劍閣網(wǎng)站設(shè)計(jì)、劍閣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、劍閣企業(yè)網(wǎng)站模板建站服務(wù),十年劍閣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

事務(wù)的執(zhí)行只有兩種結(jié)果:要么全部執(zhí)行,把數(shù)據(jù)庫(kù)帶入一個(gè)新的狀態(tài),要么全部不執(zhí)行,對(duì)數(shù)據(jù)庫(kù)不做任何修改。
對(duì)事務(wù)的操作有兩個(gè):提交( COMMIT )和回滾( ROLLBACK )。

提交事務(wù)時(shí),對(duì)數(shù)據(jù)庫(kù)所做的修改便永久寫入數(shù)據(jù)庫(kù)。
回滾事務(wù)時(shí),對(duì)數(shù)據(jù)庫(kù)所做的修改全部撤銷,數(shù)據(jù)庫(kù)恢復(fù)到操作前的狀態(tài)。
事務(wù)可用于操作數(shù)據(jù)庫(kù)的任何場(chǎng)合,包括應(yīng)用程序、存儲(chǔ)過(guò)程、觸發(fā)器等。

事務(wù)具有四個(gè)屬性,這四個(gè)屬性的英文單詞首字母合在一起就是ACID 。

這四個(gè)屬性是:
·原子性( Atomicity ):事務(wù)要么全部執(zhí)行,要么全部不執(zhí)行,不允許部分執(zhí)行。
·一致性( Consistency ):事務(wù)把數(shù)據(jù)庫(kù)從一個(gè)一致狀態(tài)帶入另一個(gè)一致狀態(tài)。
·獨(dú)立性( Isolation ):一個(gè)事務(wù)的執(zhí)行不受其他事務(wù)的影響。
·持續(xù)性( Durability ):一旦事務(wù)提交,就永久有效,不受關(guān)機(jī)等情況的影響。
一個(gè)事務(wù)中可以包含多條DML語(yǔ)句,或者包含一條DDL語(yǔ)句,或者包含一條DCL語(yǔ)句。

事務(wù)開始于第一條SQL語(yǔ)句,在下列之一情況下結(jié)束:
·遇到COMMIT或ROLLBACK 命令。
·遇到一條DDL或者DCL命令。
·系統(tǒng)發(fā)生錯(cuò)誤、退出或者崩潰。
總之,事務(wù)是一系列可以把系統(tǒng)帶入一個(gè)新的狀態(tài)的操作,如果事務(wù)被提交,則數(shù)據(jù)庫(kù)進(jìn)入一個(gè)新的狀態(tài),否則數(shù)據(jù)庫(kù)恢復(fù)到事務(wù)以前的狀態(tài)。
在數(shù)據(jù)庫(kù)中使用事務(wù)的好處是首先可以確保數(shù)據(jù)的一致性,其次在對(duì)數(shù)據(jù)做永久修改之前可以預(yù)覽以前的數(shù)據(jù)改變,還可以將邏輯上相關(guān)的操作進(jìn)行分組。
控制事務(wù)的方式有兩種,一種是隱式控制,數(shù)據(jù)庫(kù)管理系統(tǒng)根據(jù)實(shí)際情況決定提交事務(wù)還是回滾事務(wù);下載地址  springmvc整合mybatis框架源碼
另一種方式是顯式控制,在事務(wù)的最后放置一條COMMIT或ROLLBACK命令,將事務(wù)提交或回滾。
如果是隱式控制,那么事務(wù)在遇到一條DDL命令,如CREATE ,或者遇到一條DCL 命令,如GRANT ,或者從SQL *Plus正常退出,即使沒有發(fā)出COMMIT或ROLLBACK命令,這個(gè)事務(wù)將被自動(dòng)提交。
如果從SQL*Plus非正常退出或發(fā)生系統(tǒng)崩潰,那么系統(tǒng)將自動(dòng)回滾事務(wù)。
如果是顯式控制,那么在事務(wù)的最后就要通過(guò)COMMIT命令提交事務(wù),或者通過(guò)一條ROLLBACK命令回滾事務(wù)。

如果事務(wù)被提交,那么對(duì)數(shù)據(jù)庫(kù)所作的修改將寫人數(shù)據(jù)庫(kù)。

如果回滾事務(wù),一般情況下將回滾到事務(wù)的開始,即對(duì)數(shù)據(jù)庫(kù)不做任何修改。
在Oracle 中,允許部分回滾事務(wù),即可以將事務(wù)有選擇地回滾到中間的某個(gè)點(diǎn)。
部分回滾是通過(guò)設(shè)置保存點(diǎn)( SAVEPOINT )來(lái)實(shí)現(xiàn)的。

事務(wù)中可以通過(guò)SAVEPOINT命令設(shè)置若干個(gè)保存點(diǎn),這樣可以將事務(wù)有選擇地回滾到某一個(gè)保存點(diǎn)。

用戶訪問數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)中的數(shù)據(jù)是放在緩沖區(qū)中的,當(dāng)前用戶可以通過(guò)查詢操作,瀏覽對(duì)數(shù)據(jù)操作的結(jié)果。
如果沒有提交事務(wù),其他用戶是看不到事務(wù)的修改結(jié)果的。

當(dāng)一個(gè)用戶修改表中的數(shù)據(jù)時(shí),將對(duì)被修改的數(shù)據(jù)加鎖,其他用戶無(wú)法在此期間對(duì)該行數(shù)據(jù)進(jìn)行修改,直到這個(gè)用戶提交或回攘這個(gè)事務(wù)。
如果在事務(wù)的最后執(zhí)行了COMMIT命令,則對(duì)數(shù)據(jù)的修改將被寫入數(shù)據(jù)庫(kù),以前的數(shù)據(jù)將永久丟失,無(wú)法恢復(fù),其他用戶都可以瀏覽修改后的結(jié)果,在數(shù)據(jù)上加的鎖被釋放,其他用戶可以對(duì)數(shù)據(jù)執(zhí)行新的修改,在事務(wù)中設(shè)置的所有保存點(diǎn)將被刪除

如果在事務(wù)中設(shè)置了保存點(diǎn),并且在事務(wù)的最后執(zhí)行ROLLBACK命令回滾到某個(gè)保存點(diǎn),那么在此保存點(diǎn)之后的DML語(yǔ)句所做的修改將被丟棄,但是在此保存點(diǎn)之前的DML語(yǔ)句所做的修改仍然沒有寫入數(shù)據(jù)庫(kù),還可以進(jìn)行提交或回滾。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)題目:Oracle_事務(wù)控制語(yǔ)句-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article22/dshecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站收錄響應(yīng)式網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)