oracle動態游標

2021-06-26 08:46:19 字數 728 閱讀 2168

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 where 1 = :3';

open v_cur for v_sql

using 'col1', 'col2', 1;

loop

fetch v_cur

into v_col1, v_col2;

exit when v_cur%notfound;

dbms_output.put_line(v_col1 || '  ' || v_col2);

end loop;

close v_cur;

end;

顯式cursor的屬性包含:

游標的屬性 

返回值型別 意義

%rowcount 

整型 獲得fetch語句返回的資料行數

%found 

布林型最近的fetch語句返回一行資料則為真,否則為假

%notfound 

布林型與%found屬性返回值相反

%isopen 

布林型 

游標已經開啟時值為真,否則為假

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...

Oracle動態游標入門

一 最簡單的乙個動態游標 create or replace procedure test cur isstrsql1 varchar 1000 type tcur is ref cursor cur tcur ac where varchar2 100 ac varchar2 100 begin ...