`

一些数据库自定义函数

 
阅读更多
oracle 写法:
--联系人列表
create or replace function func_contactlist(project_in in number) --查询条件
return varchar2 is
  str_list varchar2(4000) default null; --连接后字符串
  str      varchar2(20) default null; --连接符号
begin
  for x in (select t.linkmanname,t.workphone,t.mobilephone
              from T_FINACEADVISER_LINKMAN t
             where t.projectcode = project_in
             order by t.orderby) loop
    str_list := str_list || str || to_char(x.linkmanname) || ',' || to_char(x.workphone) || ',' || to_char(x.mobilephone);
    str      := ';';
  end loop;
  return str_list;
end;
create or replace function func_banklevel(orgid_in in number,type_in varchar2) --查询条件
return varchar2 is
  str varchar2(50)  ; --连接符号
  --type_in 2为分行 不是2 即支行
begin
str:='';
  for x in ( select t.orgid,t.orglevel,t.parentorgid,t.orgname from   OM_ORGANIZATION t
      connect by prior t.parentorgid=t.orgid
     start with t.orgid =orgid_in)loop

     if type_in='2'
     then
          if(x.orglevel='2')
          then
           str:=x.orgname;
           end if;
     else
           if(x.orglevel='4')
           then
           str:=x.orgname;
           end if;
           if(x.orglevel='3')
           then
           str:=x.orgname;
           end if;

     end if;
  end loop;
return str;
end;
/



select tt.ctest from (select a.id,b.id ,case when a.id=b.id then a.id else '0' end as ctest from a,b where a.cd = b.cd 
) tt where tt.ctest !='0' 如何判断a的id是否与b的id 相同
最好效率高的
db2 写法
drop function metabase.get_date_list ;
create function metabase.get_date_list
(reportIdIn varchar(20),frequen)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics