oracle動態游標簡介

2021-09-01 15:39:28 字數 1017 閱讀 1956

例子程式**塊如下:

create or replace procedure proc_qzcsqktj is

-- 定義游標型別

type cursor_type is ref cursor;

c_qzcs cursor_type;

-- 定義用於存放游標結果的記錄型別

type record_type is record(

ywlx za_zfba_jcxx_aj_qzcsqk.ywlx%type,

qzcslb za_zfba_jcxx_aj_qzcsqk.qzcslb%type);

r_qzcs record_type;

-- 定義並初始化游標

cursor cur_user_table is

select a.* from test_a;

rec_user_table cur_user_table%rowtype;

begin

--迴圈訪問已經初始化的游標

for rec_user_table in cur_user_table loop

...-- 根據rec_user_table記錄中的值查詢業務表,賦值到c_qzcs游標中,並開啟該游標.

open c_qzcs for

select b.*

from test_b

where col_a = rec_user_table.col_a ;

-- 迴圈從游標裡裡取記錄,無資料可取即退出

loop

fetch c_qzcs into r_qzcs;

exit when c_qzcs%notfound;

...end loop;

close c_qzcs;--關閉游標

...end loop;

end proc_qzcsqktj;

/*注意:

在for迴圈中呼叫游標時,游標預設自動開啟,提取和關閉.

*/

工作中用到,記錄下來留做備用. 

oracle動態游標

declare v col1 varchar2 254 v col2 varchar2 254 v sql varchar2 1024 type my cursor is ref cursor v cur my cursor begin v sql select 1,2 from dual wher...

oracle 動態游標

今天寫了個動態游標 使用傳入引數 關於游標分類以及用法 思路就是先拼好sql 然後開動態游標 oralce10g也支援正規表示式 呵呵 剛剛好可以實現動態傳入引數 procedure tj pda testdata v indicator in varchar is type rc is ref c...

Oracle動態游標入門

說明 下面的儲存過程在oracle817下全部通過測試,編譯和執行均是正確的 一 最簡單的乙個動態游標 create or replace procedure test cur isstrsql1 varchar 1000 type tcur is ref cursor cur tcur ac wh...