国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

Oracle數(shù)據(jù)完整性嵌套事務(wù)調(diào)用的研究

2024-08-29 13:50:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
為了保護(hù)數(shù)據(jù)的完整性我們用了很多的方法,比如數(shù)據(jù)表的主鍵約束、外鍵約束、觸發(fā)器等等,我們今天討論的就是在處理數(shù)據(jù)直接的事務(wù)的時(shí)候,保存數(shù)據(jù)的完整性。 比如,我在一個(gè)存儲(chǔ)過(guò)程中PRoc_SaveBill保存一張單據(jù),調(diào)用一個(gè)函數(shù)Func_GenerateCode來(lái)生成一個(gè)單據(jù)的編號(hào),假如我的這個(gè)函數(shù)是從一個(gè)存有最大編號(hào)的表中取出的并且把編號(hào)加一,大家可能會(huì)想象的可能產(chǎn)生的問(wèn)題,就是假如我在Proc_SaveBill中的保存之前通過(guò)Func_GenerateCode得到一個(gè)編號(hào),假如后面的保存不成功,怎么辦是不是就丟了一個(gè)編號(hào),因?yàn)槲艺{(diào)用一次Func_GenerateCode就會(huì)增加一個(gè)編號(hào)的,那么為了使我們的數(shù)據(jù)完整不至于丟單,就的使用事務(wù)的會(huì)滾,現(xiàn)在又有問(wèn)題了,存儲(chǔ)過(guò)程會(huì)會(huì)滾到函數(shù)中嘛!答案是,假如函數(shù)中有事務(wù)或有commit語(yǔ)句,那么是會(huì)滾不了的,否則可以會(huì)滾,因?yàn)槭聞?wù)是會(huì)滾到上一個(gè)committ或rollback之后的所有事物。所以我在這里說(shuō)明是為了提醒大家考慮事務(wù)的嵌套回滾的一些方法。但是在存儲(chǔ)過(guò)程調(diào)用存儲(chǔ)過(guò)程中,假如被調(diào)用的存儲(chǔ)過(guò)程執(zhí)行沒(méi)有錯(cuò)誤,那么很遺憾是會(huì)滾不了的。 為了解決這個(gè)問(wèn)題Oracle中用自治事務(wù)來(lái)處理上述出現(xiàn)的問(wèn)題,在存儲(chǔ)過(guò)程的is/as后面聲明PRAGMA AUTONOMOUS_TRANSACTION; --自治事務(wù)防止嵌套提交,使事務(wù)在自己的事務(wù)區(qū)內(nèi)提交或回滾不會(huì)影響其他的事務(wù)。 今天在這里就說(shuō)這些,當(dāng)然這些是比較基礎(chǔ)的,給初學(xué)者提個(gè)醒!


上一篇:用智能優(yōu)化限制提高Oracle數(shù)據(jù)庫(kù)性能

下一篇:Oracle非法數(shù)據(jù)庫(kù)對(duì)象引起錯(cuò)誤及解決

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門(mén)圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 衢州市| 宁津县| 信阳市| 韩城市| 吉安县| 紫云| 冷水江市| 岳阳县| 鄂托克旗| 清远市| 佛冈县| 平阴县| 东乌珠穆沁旗| SHOW| 石屏县| 祁阳县| 朝阳市| 拉萨市| 兴安盟| 内江市| 凌源市| 平阴县| 郯城县| 济源市| 琼结县| 青冈县| 蒙山县| 井研县| 湛江市| 临洮县| 太原市| 墨玉县| 延安市| 东城区| 罗平县| 弥勒县| 神池县| 文登市| 香格里拉县| 新田县| 渑池县|