Rodrigo, tendrías que hacer un procedimiento que utilice como parámetro de salida un REF CURSOR. Para eso te conviene generarte un package, o utilizar algun existente, en el que declares primero un TYPE genérico y público, más el procedimiento que va a tener algún parámetro de salida del nuevo tipo:
Código SQL
[-]Create or Replace package MY_PACK is
TYPE TCursor is REF CURSOR;
PROCEDURE SELECCIONCODIGOS(cCursor out TCursor);
END;
El BODY sería así:
Código SQL
[-]Create or Replace package body MY_PACK is
PROCEDURE SELECCIONCODIGOS(cCursor out TCursor) is
begin
open cCursor for
select CODIGOS from CLIENTES;
end;
END;
/
Y después, en Delphi, te creas un TQuery (por ejemplo, QSelCod) con el sgte código en donde escribís el SQL:
Código Delphi
[-]begin
MY_PACK.SELECCIONCODIGOS(:cCursor);
end;
Luego, desde la aplicación hacés el QSelCod.Open y listo.
Tené en cuenta que, dependiendo de la versión de Delphi que utilices, o si utilizás algun componente externo de conexión, tendrás que setear o no el parámetro. Si lo tenés que hacer, seleccioná tipo de dato
Cursor y tipo de parámetro
Output.
Suerte!