这篇文章中将演示如何在Oracle / PLSQL中声明游标的语法和示例。

游标是在PLSQL代码的声明部分中定义的SELECT语句。下面来看看三种不同的语法来声明游标。

1. 没有参数的游标(最简单)

在没有任何参数的情况下声明游标是最简单的游标。

语法

Oracle / PLSQL中没有参数的游标的语法是:

CURSOR cursor_name IS SELECT_statement;

示例

例如,可以像下面那样定义一个名为c1的游标。

CURSOR c1 IS SELECT course_number FROM courses_tbl WHERE course_name = name_in;

该游标的结果集是所有course_name,其course_name与name_in变量匹配。

下面是使用这个游标的函数。

CREATE OR REPLACE Function FindCourse ( name_in IN varchar2 ) RETURN number IS cnumber number; CURSOR c1 IS SELECT course_number FROM courses_tbl WHERE course_name = name_in; BEGIN OPEN c1; FETCH c1 INTO cnumber; if c1%notfound then cnumber := 9999; end if; CLOSE c1; RETURN cnumber; END;

带参数游标

下面来看更加复杂一点的应用,使用参数声明游标。

语法

Oracle/PLSQL中具有参数的游标的语法是:

CURSOR cursor_name (parameter_list) IS SELECT_statement;

示例

例如,可以定义一个名为c2的游标,如下所示。

CURSOR c2 (subject_id_in IN varchar2) IS SELECT course_number FROM courses_tbl WHERE subject_id = subject_id_in;

该游标的结果集是所有course_numbers,其subject_id与通过参数传递给游标的subject_id相匹配。

带有return子句的游标

最后,可以用return子句声明一个游标。

语法

Oracle / PLSQL中带有return子句的游标的语法是:

CURSOR cursor_name RETURN field%ROWTYPE IS SELECT_statement;

示例

例如,可以像下面那样定义一个名为c3的游标。

CURSOR c3 RETURN courses_tbl%ROWTYPE IS SELECT * FROM courses_tbl WHERE subject = 'Mathematics';

这个游标的结果集是来自course_tbl的科目是数学的所有列。

¥ 我要打赏   纠错/补充 收藏

游标声明 oracle,Oracle游标声明相关推荐

  1. oracle游标声明中使用变量赋值,Oracle游标使用方法(游标里使用变量绑定)

    来源:http://www.jzxue.com/shujuku/oracle/200910/01-2839.html 游标(CURSOR)也叫光标,在关系数据库中经常使用,在PL/SQL程序中可以用C ...

  2. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  3. oracle存储过程、声明变量、for循环(转)

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  4. oracle中 游标实例

    游标-----内存中的一块区域,存放的是select的结果           游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集 ...

  5. 【Oracle】PL/SQL 显式游标、隐式游标、动态游标

    在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...

  6. Oracle 把游标说透

    本篇主要内容如下: 4.1 游标概念 4.1.1 处理显式游标 4.1.2 处理隐式游标 4.1.3 关于 NO_DATA_FOUND 和 %NOTFOUND的区别 4.1.4  使用游标更新和删除数 ...

  7. oracle触发器中保存临时数据,Oracle使用游标触发器存储实操

    如果你在Oracle游标触发器的存储的实际操作中,你对Oracle使用游标触发器的存储过程有不解之处时,你可以通过以下的文章对其的实际应用与功能有所了解,以下是文章的具体介绍,望你浏览完以下的内容会有 ...

  8. 游标操作 for Oracle

    游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集. 为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区.这个 ...

  9. Oracle基础 游标

    原文:Oracle基础 游标 一.游标 游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集. 为了处理SQL语句,Oracle将在 ...

最新文章

  1. STL中istream_iterator和ostream_iterator的基本用法
  2. 【Android 逆向】ptrace 函数 ( ptrace 函数族 | 进程附着 | 进程脱离 | 进程数据读写权限 | 进程对应的主线程寄存器读写 | 单步调试 |ptrace 函数族状态转换 )
  3. Python基础——PyCharm版本——第二章、数据类型和变量(超详细)
  4. LeetCode - Easy - 28. Implement strStr()
  5. eclipse护眼颜色和字体大小设置
  6. Linux进程管理:上帝视角看进程调度
  7. 兔子问题JAVA编程题
  8. 我的世界服务器开启就停止运行,我的世界怎么停止时间
  9. 元宵节,程序员用 Python 送你一盏 3D 花灯
  10. SSH登陆的原理分析和免登陆设置!
  11. ERP系统之比较——SAP Oracle BAAN JDE SSA
  12. 计算机技术和通信技术始于,计算机网络基础试题精选.doc
  13. python共享单车数据分析_共享单车数据可视化分析(Python/Seaborn)
  14. C# 使用OpenXML创建PPT表格
  15. 开利完成对广东积微集团的收购; 正威国际与中润超油建设全球最大规模的石墨烯润滑材料生产基地和研发中心 | 能动...
  16. 由浅入深玩转华为WLAN—12安全认证配置(5)Portal认证,外置Protal服务器TSM对接
  17. 数据链路层 ,数据链路层的主要功能,数据链路层的协议,数据链路层的设备。
  18. jQuery(javascript) 与Vue有什么区别
  19. 开放系统理论(3)生物的特征——热力学第二定律,和熵(2)续--有什么
  20. chrome 前端开发插件:尺子

热门文章

  1. 多态——面向接口编程
  2. PAT乙级(1006 换个格式输出整数)
  3. linux用户怎么归纳到组,Linux用户和组命令总结
  4. 红米手机 android 版本,#MIUI#关于红米手机4高配版 Android版本适配的说明【miui9吧】_百度贴吧...
  5. 资源放送丨《 先睹为快!Oracle 20c新特性解析》PPT视频
  6. 故障诊断:12cR2 Flex ASM 环境中节点启动失败的诊断和分析
  7. 华为云开天aPaaS 上线,服务千万开发者,使能行业场景化创新
  8. 做数仓运维,你必须要认识这个眼观六路耳听八方的“能人”
  9. 如何使用mock应对测试所需随机数据
  10. 数据湖探索DLI新功能:基于openLooKeng的交互式分析