Du kan implementere dette ved at bruge en svagt skrevet Ref Cursor som returtype. Dette er især nemt at implementere fra en klientgrænseflade ved hjælp af JDBC, da den returnerede markørtype kan trædes igennem ligesom et hvilket som helst forespørgselsresultat, og metadataene kan aflæses fra ResultSet.getMetaData(). Her er et eksempel:
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;
Forespørgslen i anførselstegn kan være alt, der returnerer en hvilken som helst type, for et hvilket som helst antal kolonner.