能夠檢測並且進行錯誤處理的叫做異常,一般分為使用者自定義異常,系統預定義異常。
一:除數是
0的系統異常
declare
v_number
number(2
):=10
;v_zero
number(2
):=0
;v_result
number(5
);begin
--v_number/v_zero,
會產生系統異常
v_result:=v_number/v_zero;
end;
二:處理上面的異常
declare
v_number
number(2
):=10
;v_zero
number(2
):=0
;v_result
number(5
);begin
--v_number/v_zero,
會產生系統異常
v_result:=v_number/v_zero;
exception
when
zero_divide
then
dbms_output.put_line(
'除數不能為
0');
end;
三:多異常處理
declare
v_result country.country_name%
type
;begin
select
country_name
into
v_result
from
country
where
country_name=
'beijing'
;dbms_output.put_line(
'the country name is '
||v_result);
exception
when
too_many_rows
then
dbms_output.put_line(
'there is too_many_rows error'
);when
no_data_found
then
dbms_output.put_line(
'there is no_data_found error'
)end;
常見的系統預定義異常 1
dup_val_index
違反了唯一性 2
login_denied
使用者名稱或密碼錯誤 3
no_data_found
沒有發現資料 4
too_many_rows
資料行太多 5
value_error
演算法或轉換錯誤
呼叫自定義異常處理需要使用raise關鍵字處理
一:自定義異常過程
declare
v_overnmber
exception
; --
定義異常處理變數
v_salesnumber
number(9
); --
當前的訂單數
v_maxnumber
number(9
):=500
; --
定義允許的最大值
begin
--從表中取出數量
select
count
(*)
into
v_salesnumber
from
sales;
--比較當前單數和最大的單數的,如果超過最大單數,就進行異常處理
ifv_maxnumberthen
--進行異常處理
raise
e_overnumber;
endif
;exception
when
e_overnumber
then
dbms_output.put_line(
'查到的單數超過最大數,資料異常');
end;
ORACLE 異常處理
一 開發pl sql程式時,需要考慮到程式執行時可能出現的各種異常,當異常出現時,或是中斷程式執行,或是使程式從錯誤中恢復,從而繼續執行。常用的異常型別有 no data found 沒有發現資料 too many rows select into 語句查詢結果有多個資料行 others 可以捕捉所...
Oracle 異常處理
1 什麼是異常 在pl sql 中的乙個警告或錯誤的情形都可被稱為異常。包括編譯時錯誤 pls 和執行時錯誤 ora 乙個異常通常包含乙個錯誤 和錯誤文字,分別指示異常的編號和具體錯誤資訊。異常情況處理 exception 是用來處理正常執行過程中未預料的事件,程式塊的異常處理預定義的錯誤和自定義錯...
Oracle 異常處理
異常處理 處理程式不可意料的操作,防止程式崩潰,起到友好提示 語法 exception when 異常型別 then 異常處理 異常型別 處理相關的異常 others 處理所有的異常 no data found 沒有找到資料 too many rows 返回資料行數過多自定義異常 實行彈窗的方式提示...