当前位置:  数据库>oracle

Oracle游标介绍

    来源: 互联网  发布时间:2017-06-13

    本文导语: Oracle的游标介绍 Oracle中的PL/SQL的游标是指把数据库中查询出来的数据以临时表的形式存放在内存中,游标可以对存储在内存中的数据进行操作,返回一条或者一组数据,或者一条数据也不返回。PL/SQL中的记录和表类型虽然也能...

Oracle的游标介绍

Oracle中的PL/SQL的游标是指把数据库中查询出来的数据以临时表的形式存放在内存中,游标可以对存储在内存中的数据进行操作,返回一条或者一组数据,或者一条数据也不返回。PL/SQL中的记录和表类型虽然也能用来存储数据,但对一组存储在内存中的数据进行操作,还是不太方便,游标恰好是这方面的工具。

PL/SQL包含隐含游标和显示游标,其中隐含游标用于处理SELECT INTO和DML语句,而显示游标则专门用于处理SELECT语句返回的多行数据,游标的基本操作有:

- 声明游标
- 打开游标
- 提取游标
- 关闭游标

声明游标

定义一个游标名称来对应一条查询语句,语法如下:

CURSOR cursor_name [{parameter_name [IN] data_type [{:=|DEFAULT} value][...]}] IS select_statement [FOR UPDATE [OF column [...]][NOWAIT]]说明:

1. data_type 为输入参数指定数据类型,但不能指定精度或长度

2. FOR UPDATE 用于在使用游标的数据时,锁定游标结果集与表中对应的数据的所有行或部分列

3. OF 如果不使用OF子句,则表示锁定游标结果集与表中对应数据行的所有列,若使用了OF子句,则只锁定指定的列

4. NOWAIT 如果表中的数据行被某用户锁定,那么其他用户的FOR UPDATE操作将会一直等到该用户释放这些数据行的锁定后才会执行,而如果使用了NOWAIT,则其他用户在使用OPEN命令打开游标时会立即返回错误信息。

打开游标

只有打开游标后,Oracle才会执行查询语句,其语法:

OPEN cursor_name [(value,...)];打开游标后,游标对应的SELECT语句也就被执行了,通过检索游标从结果集中获取单行数据并保存到定义的变量中,语法如下:

FETCH cursor_name INTO variable [,...];其中,variable 是用来存储结果集中单行数据的变量,可以选择多个普通类型的变量,一对一地接收行中的列值,也可以使用一个%ROWTYPE类型的变量,或自定义的记录类型变量,接收行中所有的列值。

关闭游标

关闭游标,释放系统资源,其语法如下:

CLOSE cursor_name;


    
 
 

您可能感兴趣的文章:

  • oracle的最大游标数问题
  • Oracle事务!使用游标提交过程
  • Oracle 数据 使用游标
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • jsp访问oracle超出打开游标的最大数是什么原因?急,在线给分。
  • 在Oracle PL/SQL中游标声明中表名动态变化的方法
  • oracle 声明游标(不具备字段)规则应用
  • Oracle存储过程返回游标实例详解
  • oracle 在一个存储过程中调用另一个返回游标的存储过程
  • Oracle 游标使用总结
  • Oracle 12c发布简单介绍及官方下载地址
  • Oracle 系统变量函数介绍
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle中SQL语句连接字符串的符号使用介绍
  • Oracle 10g和Oracle 11g网格技术介绍
  • oracle 数据泵导入导出介绍
  • ORACLE数据库常用字段数据类型介绍
  • Oracle解锁的方式介绍
  • Oracle 12c的九大最新技术特性介绍
  • 占用一下,小弟想到深圳发展,有一年JAVA开发经验,熟悉oracle数据库,哪位在深圳的兄弟帮忙介绍个工作,我的QQ:9182647,谢谢了!
  • oracle中UPDATE nowait 的使用方法介绍
  • oracle 创建表空间详细介绍
  • 哪位大哥能介绍一下在redhat7.2下安装oracle9i的过程和细节问题,只要有用,小弟另有送分
  • Oracle中PL/SQL中if语句的写法介绍
  • oracle 重置sys密码的方法介绍
  • oracle 创建表空间详细介绍 iis7站长之家
  • oracle中截断表的使用介绍
  • oracle异常(预定义异常,自定义异常)应用介绍
  • oracle sequence语句重置方介绍
  • oracle表空间中空表统计方法示例介绍
  • Oracle round()函数与trunc()函数区别介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle 11g最新版官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Oracle EBS R12 支持 Oracle Database 11g
  • ORACLE日期相关操作
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • ORACLE中DBMS_RANDOM随机数生成包
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • Linux系统下Oracle的启动与Oracle监听的启动
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • 网间Oracle的连接,远程连接Oracle服务器??
  • 请教:.profile中:if [ -d /opt/oracle/db01/app/oracle/product/9.2.0 ]是什么意思?
  • 在linux 中如何删除oracle db 与卸载oracle.
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,