mysql sys_refcursor_oracle 存储过程执行可输入sql语句并返回结果集-程序员宅基地

技术标签: mysql sys_refcursor  

1.建立测试表:

create table AAA

(

aa NVARCHAR2(100),

bb NVARCHAR2(100),

cc NVARCHAR2(100),

dd NVARCHAR2(100)

)

并导入测试数据insert into aaa values(‘1‘,‘1‘,‘1‘,‘1‘);

2.测试可行性:

DECLARE

v_cursor NUMBER;

v_stat NUMBER;

aa VARCHAR(100);

bb VARCHAR(100);

cc VARCHAR(100);

dd VARCHAR(100);

v_sql VARCHAR(200);

BEGIN

v_sql :=‘select * from aaa‘;

v_cursor := dbms_sql.open_cursor; --打开游标;

dbms_sql.parse(v_cursor, v_sql, dbms_sql.native); --解析动态SQL语句;

dbms_sql.define_column(v_cursor, 1, aa,100); --定义列

dbms_sql.define_column(v_cursor, 2,bb, 100);

dbms_sql.define_column(v_cursor, 3,cc,100);

dbms_sql.define_column(v_cursor, 4, dd,100);

v_stat := dbms_sql.execute(v_cursor); --执行动态SQL语句。

LOOP

EXIT WHEN dbms_sql.fetch_rows(v_cursor)<=0; --fetch_rows在结果集中移动游标,如果未抵达末尾,返回1。

dbms_sql.column_value(v_cursor, 1,  aa); --将当前行的查询结果写入上面定义的列中。

dbms_sql.column_value(v_cursor, 2, bb);

dbms_sql.column_value(v_cursor, 3,cc);

dbms_sql.column_value(v_cursor, 4, dd);

dbms_output.put_line(aa || ‘;‘ || bb || ‘;‘ || cc || ‘;‘|| dd);

END LOOP;

dbms_sql.close_cursor(v_cursor); --关闭游标。

END;

输出1,1,1,1

3.建立存储过程,其中,sql为输入参数,系统引用游标为输出参数,如下:

create or replace procedure myproc

(

mysqlval in varchar2,

rescur out sys_refcursor

)

as

BEGIN

open rescur for mysqlval;

END;

4.测试存储过程

sqlplus中,执行如下:

var r refcursor;

exec proc2(‘select * from aaa‘,:r);

print r;

输出是正常的

smile.gif

原文:http://blog.csdn.net/lcawen88/article/details/45873389

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33502070/article/details/114330320

智能推荐

Springboot老年人社区服务平台设计与实现x45mt计算机毕业设计-课程设计-期末作业-毕设程序代做_基于springboot的社区助老志愿者服务平台的设计与实现-程序员宅基地

文章浏览阅读294次。Springboot老年人社区服务平台设计与实现x45mt计算机毕业设计-课程设计-期末作业-毕设程序代做本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:idea eclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数 据 库:MySQL5.7/8.0源码地址:https://pan.baidu.com/s/1_ZD1z0g9ebCEWfgCiFfMDg?pwd=3gny最新计算机专业原创开发毕业_基于springboot的社区助老志愿者服务平台的设计与实现

RadioGroup的点击事件_android代码触发radiogroup点击事件-程序员宅基地

文章浏览阅读2.7k次。使用代码启动其点击事件 布局如下:

vulnhub靶场渗透学习-JIS-CTF-程序员宅基地

文章浏览阅读3.8k次,点赞4次,收藏14次。实验环境攻击机:KALI 目标机:JIS-CTF 使用Vmware虚拟机中NAT网络 网段为192.168.1.0/24解题过程基本信息探测 netdiscover -r 192.168.1.0.24可以看到靶机地址是192.168.1.132 nmap -A 192.168.1.132可以看到靶机开放了两个端口 22 和80 对...

Web前端自定义View详解,css3 文字流光渐变 背景模糊 边框两边伸展,714页PDF的鸿蒙学习笔记,-程序员宅基地

文章浏览阅读930次,点赞21次,收藏12次。ty3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**-webkit-background-clip:裁剪背景图像,使用文字作为裁剪区域向外裁剪,此时文字颜色仍覆盖背景图。-webkit-text-fill-color:设置字体颜色。background-size:背景图长度。background-image:使用css3的渐变绘制图像,从左到右。

SIM800 发送http请求AT指令_at+httpread 长度-程序员宅基地

文章浏览阅读6.5k次。AT指令步骤AT+SAPBR=3,1,"APN","CMNET" //我也不知道为什么要这样(我是移动卡)AT+SAPBR=1,1AT+HTTPINIT //http初始化准备AT+HTTPPARA="CID",1AT+HTTPPARA="URL","http://2o23854k96.iask.in:49512" //改成你的域名我这里用了花生壳AT+HTTPP..._at+httpread 长度

《电商法》将至:朋友圈的微商们该何去何从?-程序员宅基地

文章浏览阅读224次。也是时候为互联网祛魅了,说到底它只是一种工具而已,是中性的,不应该像真理一样,是一种不容置疑的信仰。《电商法》将至:朋友圈的微商们该何去何从?历时五年,经过三次征求意见、四次审议的电子商务法将于2019年1月1日起正式实施。此次立法在电商经营资质、纳税、处罚标准等方面作出了明确规定,同时也对电子商务平台经营者的责任和义务进行了界定。《电商法》要求被定义为电子商务经营者的从业者必须进行正规登...

随便推点

数字转化为千分位_numeral 千分位不确定小数位-程序员宅基地

文章浏览阅读721次。网上有好多方法,大多是正则表达式,这里记录一下简单的转换方法。1、es6方法num.toLocaleString("en");缺点:.00结尾的数字转换后小数位消失小于1000的数字不能转换?2、正则表达式..._numeral 千分位不确定小数位

Redis中ZSET的ZCARD操作的时间复杂度_zcard的时间复杂度-程序员宅基地

文章浏览阅读3.8k次。最近要用到Redis的ZSET结构,在某个Redis命令介绍的网站上标注着ZSET的ZCARD命令的复杂度是O(1)。但我的代码里ZCARD是个频繁的操作,以防万一,我下载了Redis的源码,找到了ZCARD操作相关的代码。unsigned long zsetLength(const robj *zobj) { unsigned long length = 0; ..._zcard的时间复杂度

【BZOJ 1189】[HNOI2007]紧急疏散evacuate-程序员宅基地

文章浏览阅读43次。Description发生了火警,所有人员需要紧急疏散!假设每个房间是一个N M的矩形区域。每个格子如果是'.',那么表示这是一块空地;如果是'X',那么表示这是一面墙,如果是'D',那么表示这是一扇门,人们可以从这儿撤出房间。已知门一定在房间的边界上,并且边界上不会有空地。最初,每块空地上都有一个人,在疏散的时候,每一秒钟每个人都可以向上下左右四个方向移动一格,当然他也可以站着不动。疏散..._神经网络模型实现单房间疏散

odoo14 | widget将勾选块变成开关按钮_odoo widget 开关-程序员宅基地

文章浏览阅读526次。在odoo中将布尔勾选框变成一个随时可以开关的按钮。升级模块即可看到效果,该按钮的操作不受只读影响。只需要在xml中对应的字段后面加上小组件。_odoo widget 开关

PADS一键删除所有胶粘过孔_pads怎么取消胶粘-程序员宅基地

文章浏览阅读259次。PADS一键删除胶粘过孔_pads怎么取消胶粘

Activity背景透明-程序员宅基地

文章浏览阅读505次。Theme.Translucent.NoTitleBar.Fullscreen当指定Activity 样式 Them.Dialog 时候 又不允许用XML 设置 Activity 的背景颜色的时候 用代码 this.getWindow().getDecorView().setBackgroundColor(Color.TRANSPARENT); 主意:代码写在 setContView()_activity背景透明

推荐文章

热门文章

相关标签