在oracle數據編程過程中,我們需要遵循一定得範式來保持代碼的健壯性。
無論是函數還是存儲過程都必須有異常處理塊:
create or replace FUNCTION CMS_DPS_GETW1W2QTY
(
P_ITEMCODE IN VARCHAR2,
P_YEAR_W1 IN number,
P_WEEK_W1 IN number,
P_YEAR_W2 IN number,
P_WEEK_W2 IN number,
P_HEAD_ID IN varchar2
) RETURN NUMBER AS
total number;
BEGIN
select sum(p_qty) into total from ifce.vw_scu_mrp_list m where
m.source_head_id=P_HEAD_ID
and m.item_code=P_ITEMCODE and ((m.p_year=P_YEAR_W1 and m.p_week=P_WEEK_W1) or (m.p_year=P_YEAR_W2 and m.p_week=P_WEEK_W2));
RETURN nvl(total,0);
EXCEPTION WHEN OTHERS THEN
RETURN 0;
END CMS_DPS_GETW1W2QTY;