nc财务辅助翻译器

nc财务辅助翻译器

create or replace function Fun_getRInfo(accssitem varchar2,
                                        cflag   number,
                                        cpk varchar2) return varchar2 is
  pk_checktype varchar(200) := '';
  pk           varchar(200) := '';
  V_SQL        varchar(2000) := '';
  typename     varchar(200) := '';
  v_table      varchar(20) := '';
  v_tablepk      varchar(20) := '';
  v_tablekey      varchar(20) := '';
  v_value     varchar(200) := '';
  v_restring      varchar(200) := '';
begin
  pk_checktype := trim(accssitem);
  pk           := cpk;
 
if pk_checktype is null  then v_restring:='';
return v_restring;
end if;
 
 select bac.name, c.defaulttablename, mcolumn.name
   into typename, v_table, v_tablepk
   from bd_accassitem bac
   left join md_class c
     on c.id = bac.classid
   left join md_column mcolumn
     on mcolumn.tableid = c.defaulttablename
    and pkey = 'Y'
  where bac.pk_accassitem = pk_checktype;
 
if cflag=1 and v_table = 'fa_category' then v_tablekey :='cate_name';
 elsif cflag=1 then v_tablekey :='name';
 elsif cflag=2 and v_table = 'fa_category' then v_tablekey :='cate_code';
 elsif cflag=2 then v_tablekey :='code';
 
end if;
 
if( v_table is not null and pk is not null and pk <> '~') then
   V_SQL := 'select nvl('||v_tablekey||','') from ' || v_table|| ' where '|| v_tablepk ||'='||chr(39)|| pk||chr(39) ;
   EXECUTE IMMEDIATE V_SQL into v_value ;
else v_value:=pk;
end if;
 
 
 
if typename is not null then
v_restring:=typename||':'||v_value;
else v_restring:='';
end if;
 
return v_restring;
 
EXCEPTION WHEN OTHERS THEN
     dbms_output.put_line(v_table);
return v_restring;
 
end Fun_getRInfo;

在这里插入图片描述

原文链接:https://blog.youkuaiyun.com/weixin_48692740/article/details/130499370

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值