zwleisa

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            18 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          ?????????今天客戶打電話過來,說程序沒有正常運行,收益率等數據沒有計算出來.打開tomcat的日志發現,在執行一條insert語句時發生了null值的錯誤.經過一番跟蹤和調試,終于找到闖禍的元兇--一個用來取得編號的函數,但是這個函數已經在很多客戶處使用了,都沒有錯,為什么偏偏在這里出錯了呢?在網上google一通后,才發現在對數據庫有寫操作(INSERT、UPDATE、DELETE、CREATE、ALTER、COMMIT)的函數,是無法簡單的用SQL來調用的.這種錯誤通常發生在低版本的Oracel中.
          ?????????原因找到了,解決起來就簡單了.一般有2種解決方法:一、在函數外面套一個存儲過程;二、使用自治事務(AUTONOMOUS TRANSACTION).第一種方法比較愚蠢且沒有技術含量不太符合偶的審美觀故pass.
          第二種使用起來就很簡單了:只需下列PL/SQL的聲明部分加上PRAGMA AUTONOMOUS_TRANSACTION 就可以了.
          ?????????果然加上這句話后一切OK,世界又太平了.

          posted on 2007-05-14 21:51 神仙嘆 閱讀(1773) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 哈密市| 图木舒克市| 额济纳旗| 溆浦县| 当雄县| 华蓥市| 余庆县| 张家界市| 沙田区| 烟台市| 兴山县| 黄龙县| 石台县| 西林县| 新田县| 贡嘎县| 深水埗区| 万全县| 青铜峡市| 福建省| 扎兰屯市| 葵青区| 万盛区| 蒙山县| 余干县| 定南县| 沙田区| 渝北区| 延寿县| 宽城| 田林县| 视频| 富源县| 钦州市| 沧源| 舒城县| 南阳市| 天峨县| 静宁县| 海宁市| 开远市|