日期:2014-05-17  浏览次数:21120 次

oracle 存储过程 输出结果集,使用package遇到的问题,在线求助。
本帖最后由 zdp0350543 于 2013-10-17 11:06:10 编辑
想通过oracle写个存储过程查询记录集,貌似直接写不行,再网上找到用包写的方法,模仿写出一个,如下:
--声明包头
CREATE OR REPLACE PACKAGE PACK_defectsCount AS
  TYPE CUR_defectsCount IS REF CURSOR;
  PROCEDURE up_defectsCount(startdate in date,
                            enddate   in date,
                            p_cur     out CUR_defectsCount);
END PACK_defectsCount;

--声明包体
CREATE OR REPLACE PACKAGE BODY PACK_defectsCount AS
PROCEDURE up_defectsCount(startdate in date, enddate in date, p_cur out CUR_defectsCount) IS
sqlString varchar2(1000);
BEGIN
sqlString := 'SELECT
          '''' abbreviation,
          '''' FindCount,
          '''' CompleteCount,
          '''' OvertimeCount,
          '''' CompleteRate,
          '''' FindCount1,
          '''' CompleteCount1,
          '''' OvertimeCount1,
          '''' CompleteRate1,
          '''' FindCount2,
          '''' CompleteCount2,
          '''' OvertimeCount2,
          '''' CompleteRate2,
          '''' FindCount3,
          '''' CompleteCount3,
          '''' OvertimeCount3,
          '''' CompleteRate3
    FROM dual
    WHERE startdate =: startdate
      AND enddate =: enddate';
    OPEN p_cur FOR sqlString USING startdate,enddate;
END up_defectsCount;
END PACK_defectsCount;


查看 测试时,传入startdate,enddate,执行一直报错:"enddate":标识符无效,黄色标识是标在
 OPEN p_cur FOR sqlString USING startdate,enddate;
这行,求助我这哪里写的有问题吗,折腾好久了,关于这个的例子也不是很多,灰常捉急。
oracle cursor 存储