oracle儲存過程 游標篇

2021-06-01 01:36:16 字數 1000 閱讀 9785

oracle 中cursor用於遍歷臨時表中的查詢結果

(1)cursor 型游標( 不能用於引數傳遞)

create or replace procedure test() is  

cusor_1 cursor is select std_name from student where  ...; --cursor 的使用方式1   cursor_2 cursor;

begin

select class_name into cursor_2 from class where ...;    --cursor 的使用方式2

可使用for x in cursor loop .... end loop; 來實現對cursor 的遍歷

end test;

(2)sys_refcursor 型游標,該游標是oracle 以預先定義的游標,可作出引數進行傳遞

create or replace procedure test(rscursor out sys_refcursor) is

cursor sys_refcursor;

name varhcar(20);

begin

open cursor for select name from student where ... --sys_refcursor 只能通過open 方法來開啟和賦值 

loop

fetch cursor into name          --sys_refcursor 只能通過fetch into 來開啟和遍歷 exit when cursor%notfound;

--sys_refcursor 中可使用三個狀態屬性:%notfound(未找到記錄資訊) %found(找到記錄資訊) %rowcount(然後當

前游標所指向的行位置)

dbms_output.putline(name);

end loop;

rscursor := cursor;

end test;

oracle儲存過程 游標篇

oracle 中cursor用於遍歷臨時表中的查詢結果 1 cursor 型游標 不能用於引數傳遞 create or replace procedure test is cusor 1 cursor is select std name from student where cursor 的使用方...

oracle儲存過程,游標

oracle儲存過程,游標 2010 07 07 13 01 create or replace procedure p tb task log is 功能 插入任務到任務日誌表 v task start date date v task end date date v sql code numbe...

oracle 儲存過程 游標

create or replace procedure exception3 as 使用者自定義異常 e too high sal exception 宣告自定義異常 v sal employees.salary type begin select salary into v sal from em...