0
動的SQLクエリsys_refcursorを返す関数があり、このカーソルによって列が動的に返されます。関数を実行した後にそのカーソルのSQLを照会したいPL/SQLでのsys_refcursorの結果セットの取得
Select tryit('MyTable_Name',' condition = conditionParameter and condition2=Parameter2') retCursor
from dual
カーソルをPL/SQL SQL Windwの1列と1行として戻します。 3つの点をクリックすると、結果セットが返されます。どのようにドットをクリックせずに結果セットを得ることができますか?
関数をxmltypeにキャストし、その列を渡してxmltableとしてキャストすると、結果セットが表示されますが、渡されたパラメータに従って動的に作成する必要があります。
Select * from xmltable('/ROWSET/ROW'
PASSING xmltype(tryit('MyTable_Name','condition = conditionParameter and condition2=Parameter2'))
columns
Col1 PATH 'Col1',
Col2 PATH 'Col2',
Col3 PATH 'Col3' ,
Col4 PATH 'Col4')
注意:Oracle SQL Developerで11グラム、PL/SQL Developerの8
参照カーソルは、クライアントアプリケーションに渡されるポインタです。アプリケーションは結果セットを処理します。 PL/SQL Developerは開発者のツールです(その名前にはヒントがあります)。したがって、参照カーソルをフェッチして表示するには、手動で操作する必要があります。 – APC
[カスタムパイプライン機能](http://stackoverflow.com/questions/14155844/return-resultset-from-function) –