寫指令碼的時候碰到了
經查是因為v_row沒有資料。
所以要加入異常處理,但是在迴圈內加入異常也有錯誤。
exception是在end前就有效,不能再迴圈內(不知道為什麼),所以多加乙個begin end.
declare
o_name varchar2(200);
o_code varchar2(50);
begin
for v_row in (select /+ parallel(4) / r.id,r.orig_org_code
from stl.t_stl_bill_receivable r
where r.express_dest_org_code is not null
and r.express_orig_org_code is null
and r.product_code in (『package』,』rcp』,』epep』,』deap』)
and r.business_date < sysdate) loop
begin
select
t.part_code as part_code,
o.name as part_name
into o_code,o_name
from bse.t_bas_express_part_sales_dept t,bse.t_bas_org o,bse.t_bas_sales_department sd
where t.part_code = o.code
and t.sales_dept_code = sd.code
and sd.active = 『y』
and o.active = 『y』
and t.active = 『y』
–and t.part_code = #
and t.sales_dept_code = v_row.orig_org_code;
update stl.t_stl_bill_receivable r set r.express_orig_org_code = o_code,r.express_orig_org_name = o_name
where r.id = v_row.id;
commit;
exception
when others then
rollback;–dbms_output.put_line(v_row.id);
end;
end loop;
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 返回資料行數過多自定義異常 實行彈窗的方式提示...