查看: 496|回复: 5

[PL/SQL] 请问一下动态游标可以带参数吗?

[复制链接]
论坛徽章:
2
喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
发表于 2018-9-12 15:23 | 显示全部楼层 |阅读模式
请问一下动态游标可以带参数吗? 如果可以,可以给个例子吗?
论坛徽章:
533
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2018-9-12 22:33 | 显示全部楼层
declare
   vc sys_refcursor;
begin
   open vc for 'select * from dual where dummy = :p_1' using 'abc';
end;
/

使用道具 举报

回复
论坛徽章:
20
秀才
日期:2018-05-22 16:17:26秀才
日期:2018-07-23 13:55:25秀才
日期:2018-07-23 13:55:25秀才
日期:2018-07-23 13:55:25秀才
日期:2018-07-23 13:55:25技术图书徽章
日期:2018-07-23 13:55:45蒙奇·D·路飞
日期:2018-08-06 09:43:02秀才
日期:2018-08-31 10:37:01秀才
日期:2018-11-13 14:57:26秀才
日期:2018-07-23 13:50:14
发表于 2018-9-19 13:48 | 显示全部楼层
游标仅适用于小批量的数据,否则建议使用BULK COLLECT子句和forall语句来完成,这会比游标的性能高很多。

使用道具 举报

回复
论坛徽章:
2
喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
 楼主| 发表于 2018-9-19 15:16 | 显示全部楼层
感谢楼上两位大侠,我现在用动态SQL,  速度有点慢,但不用动态SQL无法满足业务需求, 听说动态SQL性能没有静态SQL高

使用道具 举报

回复
论坛徽章:
20
秀才
日期:2018-05-22 16:17:26秀才
日期:2018-07-23 13:55:25秀才
日期:2018-07-23 13:55:25秀才
日期:2018-07-23 13:55:25秀才
日期:2018-07-23 13:55:25技术图书徽章
日期:2018-07-23 13:55:45蒙奇·D·路飞
日期:2018-08-06 09:43:02秀才
日期:2018-08-31 10:37:01秀才
日期:2018-11-13 14:57:26秀才
日期:2018-07-23 13:50:14
发表于 2018-9-19 16:39 | 显示全部楼层
是的,动态SQL没有预编译,执行时首先要编译,而静态SQL则没有这一步骤

使用道具 举报

回复
论坛徽章:
533
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2018-9-19 22:14 | 显示全部楼层
winrar2013 发表于 2018-9-19 15:16
感谢楼上两位大侠,我现在用动态SQL,  速度有点慢,但不用动态SQL无法满足业务需求, 听说动态SQL性能没有静 ...

跟动态SQL没有关系,那一点点解析的开销可以忽略,问题出在你拼出来的SQL,可以单独执行一下,检查一下执行效率如何。这个SQL不论用动态方式还是静态方式执行都是一样效率。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表