握草

复制代码
CREATE OR REPLACE FUNCTION fn_GetClassifyBymjazfs (v_azfs varchar2,v_mx varchar2,v_mj varchar2)
return varchar2
is
v_Classify varchar2(2000);
v_unit lyxxb.lyid%type;
v_ysmx varchar2(50);
SQL_GetUnit varchar2(2000);
SQL_Getmx varchar2(2000);
begin
--参数V_MX在有艺术墓时输入墓型,没有时输入-
-- ≤0.5㎡    50
--  0.5<且≤1㎡   60
--  1<且≤2㎡   70
--  2<且≤3㎡   80
--  双0.5   90
--  艺术墓  100
--  节地生态    110  双0.5 +无墓碑生态+其它生态安葬方式
--  立体安葬    120   骨灰墙廊亭 骨灰深埋
--SELECT * FROM AZFS
SQL_GetUnit:='SELECT lyid FROM lyxxb';
SQL_Getmx:='SELECT count(*) FROM spmldm WHERE  spmc='''||v_mx||''' ';
execute immediate SQL_GetUnit into v_unit;--执行oracle 方法
execute immediate SQL_Getmx into v_ysmx;--执行oracle 方法
-- 太子峪
 if  v_unit='TZY' then  
    begin
       if v_azfs='01' AND v_mj<=0.5  AND v_mx<>'福荣墓'and v_mx <>'福和墓'  then v_Classify:='50'; return v_Classify;
        elsif v_azfs='01' AND v_mj>0.5 AND v_mj<=1   then v_Classify:='60'; return v_Classify;
        elsif v_azfs='01' AND v_mj>1 AND v_mj<=2  then v_Classify:='70'; return v_Classify;
        elsif v_azfs='01' AND v_mj>2 AND v_mj<=3 then v_Classify:='80'; return v_Classify;        
        elsif v_azfs='01'  AND (v_mx='福荣墓' or v_mx ='福和墓')  AND v_mj<=0.5  then v_Classify:='90'; return v_Classify;
        elsif v_ysmx<>1  then v_Classify:='100'; return v_Classify;
        elsif  (v_azfs='20' and v_mx='人生之树')  then v_Classify:='110'; return v_Classify;
        elsif v_azfs='02' OR v_azfs='03' then v_Classify:='120'; 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_GetClassifyBymjazfs;
/

SELECT fn_GetClassifyBymjazfs('01','福荣墓','0.48') FROM dual;
复制代码

 

posted @   韩梦芫  阅读(404)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示