oracle使用游标让存储过程返回记录集
来源:互联网 发布:python 打开txt文件 编辑:程序博客网 时间:2024/05/22 02:15
因为项目需要,需要写一个存储过程在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 ASPROCEDURE up_defectsCount(startdate in date, enddate in date, p_cur out CUR_defectsCount) ISsqlString varchar2(1000);BEGINsqlString := '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,startdate,enddate,enddate;END up_defectsCount;END PACK_defectsCount;然后大概的解释下,在包头文件中定义的cursor就是游标类型,然后是存储过程的输入输出参数,下面就是包体,执行时要包头包体分开执行,下面只是我随意写的一个SQL只是为了有字段而已(是from dual表的,赋的空值),参数那边也是为了试试参数是否传递过来构造的一个类似1=1的效果,open sql的时候因为我这样写的所以参数各被调用二次,实际上应该是一次就可以的,还有就是如果你的SQL短的话可以不定义变量再open,直接放到open 'sql' using param也一样的,其他没什么要说的了,照葫芦画瓢就OK。测试的时候在PLSQL下对应的package bodies,然后右键view你的package然后选到procedure右键test ,填上输入参数,执行后下面的游标那行后面有个[...]的按钮,点开就能看到啦~
- oracle使用游标让存储过程返回记录集
- Oracle存储过程返回游标
- oracle 存储过程返回游标
- Oracle存储过程,以游标的方式返回一个记录集
- 使用DataReader操作从Oracle存储过程返回的游标
- Oracle 存储过程返回数组记录集
- oracle的存储过程返回记录集
- Oracle存储过程返回记录集
- Oracle存储过程,游标使用
- <Oracle游标>存储过程中使用游标
- oracle存储过程:游标使用,多重游标
- 用SQLPLUS调试返回游标集的Oracle存储过程
- 执行Oracle存储过程返回游标结果集
- 通过游标读取oracle存储过程返回的结果集
- Oracle 存储过程返回数据集(游标)
- SSM-Mybatis调用Oracle存储过程返回结果集(游标)
- oracle存储过程中使用Ref Cursor强类型游标返回结果集
- Oracle Package中存储过程返回游标
- 验证控件
- Android开发需要的能力
- 拿破仑希尔----“自制的七个C”
- 安卓自测试题——第二期
- 我的第一个C#程序
- oracle使用游标让存储过程返回记录集
- 实例对比Oracle中truncate和delete的区别
- <Leetcode>Word Ladder
- lnux中vi显示中文乱码的问题
- JS样式选择
- 类的进阶知识 classes
- 由一篇文章引起的思考
- C语言中嵌入Python
- IOS GCD使用