游标声明 oracle,Oracle游标声明

这篇文章中将演示如何在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的科目是数学的所有列。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值