Oracle動態語句中返回遊標
本來以為動態語句只能返回類似int、varchar2這種型別,今天測試了下,發現還支援遊標,現測試如下:
建立返回遊標的函式:
create or replace function testf return sys_refcursor as
v_refcur sys_refcursor;
begin
open v_refcur for
select * from test;
return v_refcur;
end;
測試動態語句返回遊標到變數的情況:
declare
type tbl_numlist is table of pls_integer;
v_numlist tbl_numlist;
v_refcur sys_refcursor;
begin
--方法1:
execute immediate 'select testf() from dual' into v_refcur;
fetch v_refcur bulk collect into v_numlist;
for i in 1 .. v_numlist.count loop
dbms_output.put_line(v_numlist(i));
end loop;
close v_refcur;
--方法2:
execute immediate 'begin :1 := testf(); end;' using out v_refcur;
fetch v_refcur bulk collect into v_numlist;
for i in 1 .. v_numlist.count loop
dbms_output.put_line(v_numlist(i));
end loop;
close v_refcur;
end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-2120701/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle動態遊標Oracle
- oracle 動態語句中的returning用法Oracle
- oracle 遊標中使用 動態 sqlOracleSQL
- Oracle Package返回遊標 和 java呼叫OraclePackageJava
- Oracle 動態遊標的使用Oracle
- Oracle的語句中的提示Oracle
- PLSQL 呼叫 返回 遊標(Cursor)PROCEDURESQL
- ORACLE中帶引數、REF遊標及動態SQL例項OracleSQL
- Oracle遊標Oracle
- Oracle 遊標Oracle
- Oracle遊標示例Oracle
- Oracle遊標大全Oracle
- 簡單測試動態遊標(REF CURSOR)的使用
- Oracle遊標共享,父遊標和子游標的概念Oracle
- 一個利用遊標返回資料集的例子
- oracle cursor遊標迴圈比較遊標元素是否相同Oracle
- oracle遊標使用全解Oracle
- Oracle 遊標使用全解Oracle
- [轉]oracle 遊標使用大全Oracle
- Oracle 遊標使用大全(轉)Oracle
- Oracle遊標使用大全(轉)Oracle
- 動態遊標的操作~~~
- Oracle遊標共享(Cursor Sharing)--常規遊標共享和自適應遊標共享(ACS)Oracle
- Oracle sql 語句中帶有特殊的字元處理OracleSQL字元
- Oracle SQL 語句中正規表示式的應用OracleSQL
- ORACLE 動態語句的筆記Oracle筆記
- sql語句中as的用法SQL
- 如何自動填充SQL語句中的公共欄位SQL
- Oracle開發基礎-遊標Oracle
- Oracle自適應共享遊標Oracle
- Oracle使用cursor for隱式遊標Oracle
- Oracle顯示遊標的使用及遊標for迴圈Oracle
- Oracle - 共享遊標、父子游標、硬軟解析Oracle
- oracle 對於SQL語句中物件名的解析順序OracleSQL物件
- MyBatis標籤實現的動態SQL語句MyBatisSQL
- Oracle動態執行語句(Execute Immediate)Oracle
- Oracle 迴圈呼叫動態SQL語句OracleSQL
- oracle動態sql語句處理(轉)OracleSQL