Oracle游標宣告

2022-08-22 02:03:10 字數 2030 閱讀 3826

這篇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_namename_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...