これは、弱い型の参照カーソルを戻り型として使用することで実装できます。これは、JDBCを使用してクライアントインターフェイスから実装するのが特に簡単です。返されるカーソルタイプは、他のクエリ結果と同じようにステップスルーでき、メタデータはResultSet.getMetaData()から問い合わせることができます。次に例を示します。
CREATE OR REPLACE PROCEDURE retrieve_info(field_id in integer, p_cursor in out sys_refcursor)
AS
BEGIN
open p_cursor for 'select * from emp';
END;
引用符で囲まれたクエリは、任意の数の列に対して、任意のタイプを返すものであれば何でもかまいません。