oracle中no data found異常處理

2021-08-19 21:27:05 字數 1027 閱讀 5755

異常處理(是否還在用select count(*) 判斷是否有資料,通過異常捕獲會更簡單一些)

1.當我們需要遍歷某個表中的資料,或通過select

into 給某個變數賦值時,下面這種情況會丟擲no_data_found異常,以前我會用select count(pid) into countperson進行前期判斷,判斷countperson

是否大於0,這樣不僅增加了**的冗餘,還是**可讀性變差。

2.通過下面處理讓**變得清爽:begin    exception     then     end;(儲存過程等中可以出現多個begin,end;也可以相互巢狀)

begin

--可能出現異常

select pid into temp_pid from t_person where id_card_number='1112233******xx2323';

exception when no_data_found then

--處理邏輯

dbms.output_putline("沒有找到該身份證對應的使用者!");

end;

迴圈中的使用方法:

begin

--可能出現異常

for  rec_person_id in(select pid from t_person)loop

--處理邏輯(可能出現no_data_found異常)

end loop;

exception when no_data_found then

--處理邏輯

dbms.output_putline("沒有資料");

end;

oracle中累計求和 oracle累計求和

poj2001 shortest prefixes trie樹應用 沉迷wow又頹了兩天orz,暴雪爸爸要在國服出月卡了.這是要我好好學習嗎?趕緊來刷題了.oj 題目大意是求所有字串裡每乙個字元 硬體相關 jtag介面 jtag joint test action group,聯合測試行動小組 是一...

oracle中累計求和 oracle累計求和

oracle累計求和 將當前行某列的值與前面所有行的此列值相加,即累計求和 方法一 with t as select 1 val from dual union all select 3 from dual union all select 5 from dual union all select ...

Oracle中臨時表

最近考慮到我們的資料庫端寫儲存過程關於臨時表使用的情況,由於我們 現在還不清楚資料庫端到底是怎麼處理的,是否和sql server的處理方式相 同,是否會存在隱患等等一些問題,為了避免將來不必要的麻煩我做了深 入的研究和檢視了一些權威的資料,現在和大家共享,希望大家在處理 oracle臨時表是注意一...