我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle cursor 用法总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle cursor 用法总结

PL sql中cursor用法是非常广泛的,常常用于存储过程和函数的返回值,其中用于函数的返回值变相的解决了pl sql 没有表值函数的问题,一般的,在java 调用存储过程,所返回的结果集也是用游标去存储的。

游标分为动态游标和静态游标

1,动态游标定义分两种方式一种是先定义自定义类型如 Type my_cursor is ref cursor .这样就可以定义了一个游标类型,然后我们自己的变量就可以用这个自定义类型去定义了,如 cursorDemo my_cursor (直接用系统自带的sys_refcursor也是可以的);另外上面的my_cursor 又可以分为强类型和弱类型,顾名思义,强类型是指在定义的时候指定只能放哪些类型的值,如上面强类型定义Type my_cursor is ref cursor return emp%rowtype. 游标之所以称之为动态是因为可以放不同的值或者不同表的值(限于弱类型,强类型的动态是指相同类型不同表的值),如 open cursorDemo for

select 1 from dual;也可以 open cursorDemo for select a ,b from dual;

2,静态游标就比较简单了,定义的时候直接指定值就好了如 cursor my_cursor is select 1 from dual;


游标的使用。

1,在java中游标是用类型oracleTypes.CURSOR 调用然后返回结果,部分代码参考如下

CallableStatement cs = ct.prepareCall("{call findset_emp(?,?)}");  

            cs.setInt(1, 10);  

            cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);  

              

            cs.execute();  

            ResultSet rs = (ResultSet)cs.getObject(2);  

            while(rs.next()){  

                System.out.println(rs.getInt(1)+" "+rs.getString(2));  

            } 

2,在存储过程或者函数中可以使用for  循环和fetch去调用

for循环的格式是如下

emp my_cursor%rowtype

 for emp in my_cursor loop dbms_output.put_line(emp.a);

end loop;

fetch 用法格式如下

loop

fetch my_cursor into emp;

exit when emp%notfound;

dbms_output.put_line(emp.a);

end loop;

两者对比for循环应该是更简单一些,当然还有其他用法,这里就不一一介绍,基本这两种就够用了。















免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle cursor 用法总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle的exists用法总结

Oracle的EXISTS用于检查子查询是否返回任何行。它返回一个布尔值,如果子查询返回至少一行,则为true,否则为false。EXISTS的语法如下:SELECT column1, column2, ...FROM table1
oracle的exists用法总结
2024-04-09

oracle中cursor的用法有哪些

在Oracle中,游标(cursor)是一种数据库对象,用于处理查询结果集。以下是Oracle中使用游标的一些常见用法:1. 隐式游标:当执行一个查询语句时,Oracle会自动创建一个隐式游标来处理查询结果集。您可以使用FETCH语句获取隐
2023-08-08

oracle总结

1.创建表空间create tablespance 表名datafile ‘’;-- 放在的位置size --设置大小autoextend onnext ;--扩展大小-- 2删除表空间drop tablespance 表名;-- 创建序列increment
oracle总结
2014-09-13
2024-04-02

pandas用法总结

https://blog.csdn.net/yiyele/article/details/80605909 一、生成数据表1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:import numpy as npimport pandas
pandas用法总结
2020-11-19

python用法总结

requests库的用法:requests是python实现的简单易用的HTTP库因为是第三方库,所以使用前需要cmd安装pip ×××tall requests安装完成后import一下,正常则说明可以开始使用了基本用法:import r
2023-01-31

return用法总结

推荐教程:java教程return用法总结:  一、在有返回值的方法中,返回方法指定类型的值,同时结束方法执行;  二、也可以用在返回值为void的方法中,用来终止方法运行;break和return  break是用来跳出循环的,例如for,while,do-
return用法总结
2021-12-06

python requests用法总结

python requests用法总结requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求本文全部来源于官方文档:   http://doc
2023-01-31

Oracle中查询表结构的6种方法总结

目录方法一:方法二:方法三:方法四:方法五:方法六:总结 方法一:在【命令窗口】下输入,语法:desc 表名DESC DUAL;--或DESCRIBE TB_STUDENT;注:可以使用PLSQL Developer工具内的命令窗
2023-04-12

编程热搜

目录