oracle plsql case when_end case小記

wisdomone1發表於2012-11-30
create or replace function func_1_2_mv_orderstatus(in_orderbill_status in portal_orderbill.orderbill_status%type)
/* 過程、函式簡要描述資訊
  **********************************************************
  *  函式名  : func_1_2_mv_orderstatus
  *  建立日期      : 2012-11-30
  *  作者              : 
  *  模組              : 
  *  功能描述      :
  *  輸入引數      :
  *                 
  *
  *  輸出引數      :
  *  源表:       
  *  目標表:     
  *  備註:                      :
  *------------------------------------------------------------
  *  修改歷史
  *  序號    日期             修改人      修改原因
  *  1       2012-11-30              建立
                                  
  ************************************************************ */
return  integer
is
  v_result integer;
begin
 --一期訂單 訂單狀態  
/*  訂單狀態:0關閉,1支付成功2未支付3支付失敗,4已下發
,5計費成功,6計費失敗,7待稽核,8稽核駁回,9稽核透過
,10退款已受理,11退款成功,101已經預約,102等待通知,103待(收貨)付款
,55充值中,111充值請求成功,222充值請求失敗,
555充值請求中*/
--二期增值業務訂單 訂單狀態
/*訂單狀態:0初始狀態,1成功,2失敗
見字典表s_dic.dic_type='BILL_STATUS'*/
                          
          case
                when in_orderbill_status='1'       then v_result:=1;
                when in_orderbill_status='2'       then v_result:=0;
                when in_orderbill_status='4'       then v_result:=0;
                when in_orderbill_status='5'       then v_result:=1;
                when in_orderbill_status='6'       then v_result:=2;
                when in_orderbill_status='7'       then v_result:=0;
                when in_orderbill_status='8'       then v_result:=2;
                when in_orderbill_status='9'       then v_result:=1;
                when in_orderbill_status='10'      then v_result:=2;
                when in_orderbill_status='103'     then v_result:=0;
                when in_orderbill_status='111'     then v_result:=1;
                when in_orderbill_status='222'     then v_result:=2;
                when in_orderbill_status='500'     then v_result:=0;
                when in_orderbill_status='501'     then v_result:=0;
                when in_orderbill_status='502'     then v_result:=0;
                when in_orderbill_status='505'     then v_result:=0;
                when in_orderbill_status='555'     then v_result:=0;
                when in_orderbill_status='601'     then v_result:=0;
        end case;
return v_result;
end func_1_2_mv_orderstatus;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-750342/,如需轉載,請註明出處,否則將追究法律責任。

相關文章