开发者社区> 问答> 正文

ORACLE存储过程调用问题。。。? 400 报错

ORACLE存储过程调用问题。。。? 400 报错 create or replace procedure SP_AntibioticsUse_Counter(p_beginDate varchar2,
                                                      p_endDate   varchar2,
                                                    p_result    out sys_refcursor ) is
begin
 
 OPEN p_result for
   select deptname, useCount, visitCount
  from (select t5.deptid, t5.deptname deptname, count(t1.patientid) useCount
          from PA_DATA_PATIENT        t1,
               PC_CL_DATA_RECIPE      t2,
               PC_CL_DATA_RECIPEENTRY t3,
               OM_DEPARTMENT          t5,
               PH_DRUGITEM            t4
         where t1.patientid = t2.patientid
           and t2.recipeid = t3.recipeid
           and t4.drugid = t3.itemid
           and t4.ISANTIBACTERIAL = 1
              
           and t2.inputtime >= to_date(p_beginDate, 'yyyy-mm-dd')
           and t2.inputtime <= to_date(p_endDate, 'yyyy-mm-dd')
           and t5.deptid = t2.deptid
         group by t5.deptcode, t5.deptname, t5.deptid) useCount,
       
       (select t7.deptid, count(t1.patientid) visitCount
          from PA_DATA_PATIENT        t1,
               PC_CL_DATA_RECIPE      t2,
               PC_CL_DATA_RECIPEENTRY t3,
               OM_DEPARTMENT          t7,
               PH_DRUGITEM            t4
         where t1.patientid = t2.patientid
           and t2.recipeid = t3.recipeid
           and t4.drugid = t3.itemid
              
           and t2.inputtime >= to_date(p_beginDate, 'yyyy-mm-dd')
           and t2.inputtime <= to_date(p_endDate, 'yyyy-mm-dd')
           and t7.deptid = t2.deptid
         group by t7.deptcode, t7.deptname, t7.deptid) visitCount


 WHERE useCount.deptid = visitCount.deptid;
           

           end SP_AntibioticsUse_Counter;

调用 : call SP_AntibioticsUse_Counter('2013-05-01','2013-05-02'); 出错,提示参数类型或数目有误。

存储过程中第三个参数是出参,应该调用的时候不用填吧,不知道错在哪里,请高手指点。

展开
收起
爱吃鱼的程序员 2020-06-02 16:56:34 843 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    oracle.jdbc.OracleTypes.CURSOR######group by t5.deptcode, t5.deptname, t5.deptid三项,但是你select只有两项######你好,我也刚开始学习写oracle的存储过程,写好的存储过程怎么执行呢?######@御风林海 不是exec吗?######call 存储过程名字(参数1,参数2....) @神户牛肉

    2020-06-02 16:56:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像