這個不太懂,你可以去CUUG上問下他們那的專業老師,態度都挺好的,或者加一些oracle技術群問問
創新互聯服務項目包括恩施土家網站建設、恩施土家網站制作、恩施土家網頁制作以及恩施土家網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,恩施土家網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到恩施土家省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
可以根據where條件去找的
什么時候開始錯誤的
找最后正常天之后的數據出來對
范圍慢慢縮小,你這種情況,肯定是業務數據保存的時候沒有SQL過濾
一般寫在存儲過程處理異常。
exception
when others then
out_mes:=out_mes || '執行失敗!因為'|| sqlcode || '錯誤' ;
out_mes你自己可以處理,插入日志表中 或作為輸出參數。
這個是沒辦法定位的。你可通過調試工具,一步一步調試,可以發現出現錯誤的地方及原因。
可以使用PL/SQL DEVELOPER
不知道你想在什么環境下捕獲,不知道你說的SQL是怎么捕獲,或者你說的是腳本?
如果是在存儲過程中捕獲
有兩個思路吧,
1、直接使用普通的異常處理,獲取異常的代碼,匹配是否為00942,然后就捕獲到這個異常。
2、自定義異常處理,使用數據字典,首先查詢數據字典中是否存在這表,如果不存在,就產生一個自定義的異常,在這個異常里你做處理。
------------------------------------------------------------------------------------
declare
myexception exception;
--表個數
v_num integer :=0;
begin
--查詢表名為MY_USER表個數
SELECT count(*) into v_num FROM tabs WHERE table_name = 'MY_USER'
if v_num=0 then
raise myexception;
end if;
exception
when myexception then
raise_application_error(20001,'my exception happens');
when others then
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
end
----------------------------------------------------------------------------------------
偽代碼,你可以嵌到你的存儲過程中去使用。
分享標題:Oracle怎么定位異常 oracle 定位函數
轉載注明:http://vcdvsql.cn/article48/hehohp.html
成都網站建設公司_創新互聯,為您提供手機網站建設、品牌網站設計、網站收錄、網站維護、做網站、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯