Du kan implementera detta genom att använda en svagt skriven Ref Cursor som returtyp. Detta är särskilt enkelt att implementera från ett klientgränssnitt med JDBC, eftersom den returnerade markörtypen kan stegas igenom precis som alla frågeresultat och metadata kan förhöras från ResultSet.getMetaData(). Här är ett exempel:
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;
Frågan inom citattecken kan vara vad som helst som returnerar vilken typ som helst, för valfritt antal kolumner.