注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员驿站

淘宝店:http://shop106888457.taobao.com

 
 
 

日志

 
 

oracle create function的两个实例  

2015-02-06 10:45:22|  分类: Oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
oracle create function的两个实例:[@more@]
create function的两种例子:
CREATE OR REPLACE FUNCTION "HISSAAS"."GETDEPARTNAME" (vDepartCode in varchar2) return varchar2
as
DepartName varchar2( 1000);
begin
select tenant_name into DepartName from saas.SYY_TENANT where tenant_id = vDepartCode;
return DepartName;
end;
/
=================================================================================
CREATE OR REPLACE FUNCTION "HISSAAS"."GETEMPNAME_1" (v_date1 in varchar2, v_date2 in varchar2 )
return sys_RefCursor
as
type cur_current is Ref Cursor;
cur_result cur_current;
v_cur varchar2( 1000);
begin
v_cur:=
'select p.tenant_id,
getdepartname(p.TENANT_ID) tenant_name,
getEmpName(p.diagdoct) mc,
count(distinct p.mzsn) mzl,
count(distinct p.mzsn) jzl,
count(distinct i.mzemrid) bll,
(case
when count(distinct p.mzsn) <> 0 then
count(distinct i.mzemrid) / count(distinct p.mzsn)
else
0.0000
end) syl,
count(distinct c.emrid) qxs,
(case
when count(i.mzemrid) <> 0 then
count(distinct c.emrid) / count(distinct i.mzemrid)
else
0
end) qxl
from SMZ_PATIDIAGREC p, SBL_MZEMR_INDEX i, SBL_QUA_CHK_CORRECT c
where 1 = 1
and p.mzsn = i.mzsn
and c.emrid = i.mzemrid
and p.diagtime >= to_date(''' ||v_date1||''',''yyyy/mm/dd'')
and p.diagtime <= to_date(''' ||v_date2||''',''yyyy/mm/dd'')
group by p.tenant_id, getdepartname(p.TENANT_ID), p.DIAGDOCT
order by p.tenant_id, p.tenant_id' ;
open cur_result for v_cur;
return cur_result;
end;
/
但是这个不能使用:select * from table(getempname_1(x,y)) 查询
  评论这张
 
阅读(292)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017