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

首頁 > 數據庫 > Oracle > 正文

Oracle數據庫為了數據的完整性的嵌套事務調用的研究

2024-08-29 13:49:02
字體:
來源:轉載
供稿:網友

  
為了保護數據的完整性我們用了很多的方法,比如數據表的主鍵約束、外

鍵約束、觸發器等等,我們今天討論的就是在處理數據直接的事務的時

候,保存數據的完整性,比如,我在一個存儲過程中PRoc_SaveBill保存一

張單據,調用一個函數Func_GenerateCode來生成一個單據的編號,假如我

的這個函數是從一個存有最大編號的表中取出的并且把編號加一,大家可

能會想象的可能產生的問題,就是假如我在Proc_SaveBill中的保存之前通

過Func_GenerateCode得到一個編號,假如后面的保存不成功,怎么辦是不

是就丟了一個編號,因為我調用一次Func_GenerateCode就會增加一個編號

的,那么為了使我們的數據完整不至于丟單,就的使用事務的會滾,現在

又有問題了,存儲過程會會滾到函數中嘛!答案是,假如函數中有事務或

有commit語句,那么是會滾不了的,否則可以會滾,因為事務是會滾到上

一個committ或rollback之后的所有事物。所以我在這里說明是為了提醒大

家考慮事務的嵌套回滾的一些方法。但是在存儲過程調用存儲過程中,如

果被調用的存儲過程執行沒有錯誤,那么很遺憾是會滾不了的。為了解決

這個問題Oracle中用自治事務來處理上述出現的問題,在存儲過程的is/as

后面聲明PRAGMA AUTONOMOUS_TRANSACTION; --自治事務防止嵌套提交,使

事務在自己的事務區內提交或回滾不會影響其他的事務。

今天在這里就說這些,當然這些是比較基礎的,給初學者提個醒!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乡族自治县| 甘谷县| 亚东县| 莎车县| 包头市| 安吉县| 洮南市| 荥经县| 景谷| 永清县| 永春县| 洪泽县| 彭水| 蒙山县| 治县。| 项城市| 吉林省| 玛纳斯县| 惠水县| 宜丰县| 祥云县| 昔阳县| 玉山县| 商南县| 宁武县| 湘乡市| 金堂县| 工布江达县| 彩票| 淅川县| 湟源县| 夹江县| 乌恰县| 长白| 左云县| 平罗县| 邹平县| 昭通市| 武邑县| 陆川县| 泰和县|