這篇oracle教程解釋了如何在oracle / plsql中宣告游標的語法和示例。
游標是在plsql**的宣告部分中定義的select
語句。下面來看看三種不同的語法來宣告游標。
在沒有任何引數的情況下宣告游標是最簡單的游標。
語法
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
isselect 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 / 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宣告游標和使用游標
使用游標便利員工工資 declare 宣告乙個變數接收員工工資 v sal emp.sal type 宣告乙個變數接收員工編號 v ename emp.ename type 宣告乙個游標 cursor cur name isselect ename,sal from emp 查詢所有員工工資 beg...
SQL SERVER 宣告游標
日期 2005 01 12出處 csdn sql server 宣告游標 每乙個游標必須有四個組成部分這四個關鍵部分必須符合下面的順序 1.declare 游標 2.open 游標 3.從乙個游標中fetch 資訊 4.close 或deallocate 游標 通常我們使用declare 來宣告乙個...
oracle 游標使用
create or replace function errortyperead return varchar2 is result varchar2 3000 type cursor type is ref cursor tempname varchar2 100 cursor testcur i...