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⼦句的游标
oracle游标的使用最后,可以⽤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的科⽬是数学的所有列。
¥ 我要打赏
纠错/补充
收藏
加QQ啦,易百教程官⽅技术学习
注意:建议每个⼈选⾃⼰的技术⽅向加,同⼀个QQ最多限加 3 个。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论