oracle if else 判断

CREATE OR REPLACE FUNCTION fn_GetClassifyBymxmjazfs (v_azfs varchar2,v_mx varchar2,v_mj varchar2)
return varchar2
is
v_Classify varchar2(2000);
v_unit lyxxb.lyid%type;
SQL_GetUnit varchar2(2000);

begin

SQL_GetUnit:='SELECT lyid FROM lyxxb';

execute immediate SQL_GetUnit into v_unit;--执行oracle 方法

-- AZFS - '01'
   -- 判断墓型或者面积不属于双0.5  10
-- azfs = '骨灰林  20
-- azfs = 骨灰墙  骨灰郎 骨灰庭  30
-- azfs = '01'  且墓型或面积属于双0.5   41
-- azfs = '20'   42 
--SELECT * FROM AZFS
-- 太子峪
 if  v_unit='TZY' then  
    begin
       if v_azfs='01' AND v_mx <>'福荣墓' then v_Classify:='10'; return v_Classify;
        elsif v_azfs='04'  then v_Classify:='20'; return v_Classify;
        elsif v_azfs='02' OR v_azfs='03' then v_Classify:='30'; return v_Classify;
        elsif v_azfs='01'  AND v_mx='福荣墓' then v_Classify:='41'; return v_Classify;        
        elsif v_azfs='20'  then v_Classify:='42'; return v_Classify;
       end if;
    end;
  --金山
 elsif v_unit='JS' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;
   --温泉
   elsif v_unit='WQMY' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;    
 --八达岭
 elsif v_unit='BDL' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;
   --朝阳
  elsif v_unit='CYLY' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;
    --宝云岭
   elsif v_unit='BYL' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;
    --天慈
  elsif v_unit='TC' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;
    --通惠
   elsif v_unit='THLY' then
  begin
        v_Classify:='10';
        return v_Classify;
    end;
  end if;
--return v_Classify;

exception
  when others then dbms_output.put_line('error');
  return -1;
end fn_GetClassifyBymxmjazfs;
/

SELECT fn_GetClassifyBymxmjazfs('01','福荣墓1','0.48') FROM dual;

 

转载于:https://www.cnblogs.com/siyunianhua/p/6290949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值