DB2 自定义函数(2)

SET SCHEMA TMISUSR;


SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","TMISUSR";


CREATE FUNCTION "TMISUSR"."F_DEBTGETTRELIST"
 ("PI_I_YEAR" INTEGER,
  "PI_S_TREAREA" VARCHAR(1024),
  "PI_S_TRELEVEL" CHARACTER(1)
 ) 
  RETURNS VARCHAR(1024)
  SPECIFIC "TMISUSR"."SQL160504163209908"
  LANGUAGE SQL
  NOT DETERMINISTIC
  READS SQL DATA
  STATIC DISPATCH
  CALLED ON NULL INPUT
  NO EXTERNAL ACTION
  INHERIT SPECIAL REGISTERS
  BEGIN ATOMIC
    declare v_s_rst varchar(512) default ' AND 1=1 ';
      --
    if pi_s_TreArea<>'' then
      set v_s_rst =
        case
          when pi_s_TreLevel='1'
            then ' '
          when pi_s_TreLevel='2'
            then ' AND a.s_OfProvTreCodeDebt in ( '||pi_s_TreArea ||' ) '
          when pi_s_TreLevel='3'
            then 
              ' AND a.s_OfProvTreCodeDebt = b.s_OfProvTreCodeDebt AND a.s_OfCityTreCodeDebt = b.s_OfCityTreCodeDebt and b.s_trecode  in ( '
              ||PI_s_TreArea ||' ) '||' AND b.i_Year = '||CAST(pi_i_Year AS 
              CHAR(4))||' '
          when pi_s_TreLevel='4'
            then 
              ' AND a.s_OfProvTreCodeDebt = b.s_OfProvTreCodeDebt AND a.s_OfCityTreCodeDebt = b.s_OfCityTreCodeDebt AND a.s_OfCountyTreCodeDebt = b.s_OfCountyTreCodeDebt and b.s_trecode in ( '
              ||PI_s_TreArea ||' ) '||' AND b.i_Year = '||CAST(pi_i_Year AS 
              CHAR(4))||' '
          else 
            ' AND a.s_OfProvTreCodeDebt = b.s_OfProvTreCodeDebt AND a.s_OfCityTreCodeDebt = b.s_OfCityTreCodeDebt AND a.s_OfCountyTreCodeDebt = b.s_OfCountyTreCodeDebt and a.s_oftrecode = b.s_trecode and b.s_trecode in ( '
            ||PI_s_TreArea ||' ) '||' AND b.i_Year = '||CAST(pi_i_Year AS CHAR
            (4))||' '
        end;
      --
    end if;
    --
    return v_s_rst;
  --
  END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值