国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:6日期:2023-11-13 09:28:53
為了保護數(shù)據(jù)的完整性我們用了很多的方法,比如數(shù)據(jù)表的主鍵約束、外鍵約束、觸發(fā)器等等,我們今天討論的就是在處理數(shù)據(jù)直接的事務(wù)的時候,保存數(shù)據(jù)的完整性。 比如,我在一個存儲過程中Proc_SaveBill保存一張單據(jù),調(diào)用一個函數(shù)Func_GenerateCode來生成一個單據(jù)的編號,假如我的這個函數(shù)是從一個存有最大編號的表中取出的并且把編號加一,大家可能會想象的可能產(chǎn)生的問題,就是假如我在Proc_SaveBill中的保存之前通過Func_GenerateCode得到一個編號,假如后面的保存不成功,怎么辦是不是就丟了一個編號,因為我調(diào)用一次Func_GenerateCode就會增加一個編號的,那么為了使我們的數(shù)據(jù)完整不至于丟單,就的使用事務(wù)的會滾,現(xiàn)在又有問題了,存儲過程會會滾到函數(shù)中嘛!答案是,假如函數(shù)中有事務(wù)或有commit語句,那么是會滾不了的,否則可以會滾,因為事務(wù)是會滾到上一個committ或rollback之后的所有事物。所以我在這里說明是為了提醒大家考慮事務(wù)的嵌套回滾的一些方法。但是在存儲過程調(diào)用存儲過程中,假如被調(diào)用的存儲過程執(zhí)行沒有錯誤,那么很遺憾是會滾不了的。 為了解決這個問題Oracle中用自治事務(wù)來處理上述出現(xiàn)的問題,在存儲過程的isas后面聲明PRAGMA AUTONOMOUS_TRANSACTION; --自治事務(wù)防止嵌套提交,使事務(wù)在自己的事務(wù)區(qū)內(nèi)提交或回滾不會影響其他的事務(wù)。 今天在這里就說這些,當然這些是比較基礎(chǔ)的,給初學(xué)者提個醒!
主站蜘蛛池模板: 珠海市| 龙门县| 中宁县| 四平市| 西城区| 阜城县| 娱乐| 孝感市| 黄陵县| 木兰县| 林周县| 樟树市| 会昌县| 鄱阳县| 抚宁县| 全州县| 获嘉县| 泊头市| 深州市| 蕉岭县| 平泉县| 延安市| 开化县| 崇仁县| 嘉黎县| 宜州市| 安岳县| 旺苍县| 绵阳市| 汝州市| 民丰县| 广宁县| 灵山县| 萍乡市| 新乡市| 鄂伦春自治旗| 靖远县| 广州市| 宽城| 卢氏县| 泊头市|