在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;