久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:5日期:2023-11-13 09:28:53
為了保護數據的完整性我們用了很多的方法,比如數據表的主鍵約束、外鍵約束、觸發器等等,我們今天討論的就是在處理數據直接的事務的時候,保存數據的完整性。 比如,我在一個存儲過程中Proc_SaveBill保存一張單據,調用一個函數Func_GenerateCode來生成一個單據的編號,假如我的這個函數是從一個存有最大編號的表中取出的并且把編號加一,大家可能會想象的可能產生的問題,就是假如我在Proc_SaveBill中的保存之前通過Func_GenerateCode得到一個編號,假如后面的保存不成功,怎么辦是不是就丟了一個編號,因為我調用一次Func_GenerateCode就會增加一個編號的,那么為了使我們的數據完整不至于丟單,就的使用事務的會滾,現在又有問題了,存儲過程會會滾到函數中嘛!答案是,假如函數中有事務或有commit語句,那么是會滾不了的,否則可以會滾,因為事務是會滾到上一個committ或rollback之后的所有事物。所以我在這里說明是為了提醒大家考慮事務的嵌套回滾的一些方法。但是在存儲過程調用存儲過程中,假如被調用的存儲過程執行沒有錯誤,那么很遺憾是會滾不了的。 為了解決這個問題Oracle中用自治事務來處理上述出現的問題,在存儲過程的isas后面聲明PRAGMA AUTONOMOUS_TRANSACTION; --自治事務防止嵌套提交,使事務在自己的事務區內提交或回滾不會影響其他的事務。 今天在這里就說這些,當然這些是比較基礎的,給初學者提個醒!
標簽: Oracle 數據庫
主站蜘蛛池模板: 高尔夫| 许昌县| 神池县| 阿拉善盟| 靖西县| 阳曲县| 庆阳市| 若尔盖县| 巴彦县| 台安县| 革吉县| 东明县| 龙泉市| 翁牛特旗| 项城市| 许昌县| 清新县| 肃南| 明星| 旬邑县| 剑河县| 监利县| 林甸县| 伽师县| 乐山市| 通许县| 阿图什市| 荣昌县| 南部县| 长春市| 新巴尔虎左旗| 乡城县| 来安县| 随州市| 临西县| 马龙县| 丰都县| 上高县| 宁夏| 安仁县| 仪陇县|