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

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:42:10
字體:
來源:轉載
供稿:網友
 為了保護數據的完整性我們用了很多的方法,比如數據表的主鍵約束、外
  
  鍵約束、觸發器等等,我們今天討論的就是在處理數據直接的事務的時
  
  候,保存數據的完整性,比如,我在一個存儲過程中PRoc_SaveBill保存一
  
  張單據,調用一個函數Func_GenerateCode來生成一個單據的編號,假如我
  
  的這個函數是從一個存有最大編號的表中取出的并且把編號加一,大家可
  
  能會想象的可能產生的問題,就是假如我在Proc_SaveBill中的保存之前通
  
  過Func_GenerateCode得到一個編號,假如后面的保存不成功,怎么辦是不
  
  是就丟了一個編號,因為我調用一次Func_GenerateCode就會增加一個編號
  
  的,那么為了使我們的數據完整不至于丟單,就的使用事務的會滾,現在
  
  又有問題了,存儲過程會會滾到函數中嘛!答案是,假如函數中有事務或
  
  有commit語句,那么是會滾不了的,否則可以會滾,因為事務是會滾到上
  
  一個committ或rollback之后的所有事物。所以我在這里說明是為了提醒大
  
  家考慮事務的嵌套回滾的一些方法。但是在存儲過程調用存儲過程中,如
  
  果被調用的存儲過程執行沒有錯誤,那么很遺憾是會滾不了的。為了解決
  
  這個問題Oracle中用自治事務來處理上述出現的問題,在存儲過程的is/as
  
  后面聲明PRAGMA AUTONOMOUS_TRANSACTION; --自治事務防止嵌套提交,使
  
  事務在自己的事務區內提交或回滾不會影響其他的事務。
  
  今天在這里就說這些,當然這些是比較基礎的,給初學者提個醒!
    

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 津南区| 伊金霍洛旗| 邯郸县| 丹寨县| 靖远县| 科技| 上犹县| 曲麻莱县| 涞水县| 神池县| 濮阳市| 西安市| 东城区| 金昌市| 连城县| 新宾| 自治县| 长汀县| 娄底市| 太谷县| 万宁市| 沙河市| 西青区| 收藏| 余江县| 四川省| 彰化县| 屏东县| 天水市| 望城县| 泉州市| 甘南县| 卢龙县| 平邑县| 唐山市| 鲁甸县| 榕江县| 尼木县| 儋州市| 红安县| 炎陵县|