colegas necesito ayuda

alejandro
27 de Septiembre del 2004
Necesito desarrollar un procedimiento en oracle que me devuelva un cursor o el resultado de un query para poder ser invocado desde coldfusion el problema es que no se como hacer que el procedimiento me retorne el query

x
27 de Septiembre del 2004
Es posible via Java+JDBC, porque directamente CF<===>Oracle lo veo muy dificil. En SQLServer2000 es mas facil pero Oracle es otro mundo.

x
27 de Septiembre del 2004
De todas formas mira a ver si esto funciona o no...

EN PL/SQL:

create or replace package rc as
type rs_type is ref cursor return table1%rowtype;

procedure rset (p_rs in out rs_type);
end rc;

create or replace package body rc is
procedure rset (p_rs in out rs_type) is
begin
open p_rs for select * from table1;
end rset;
end rc;


Y luego en CF:

<cfstoredproc procedure="rc.rset"
datasource="yourDSN"
username="yourUsername"
password="yourPwd">
<cfprocparam type="out"
cfsqltype="cf_sql_refcursor"
variable="v" maxrows="-1">
<cfprocresult name="table1Data">
</cfstoredproc>

Rodolfo Reyes
27 de Septiembre del 2004
Lo que quieres hacer, si es posible con Oracle. Busca en la ayuda documentación sobre "Ref Crusor".

Este es un tipo de dato, que te permite almacenar el resultado de un cursor. Y por lo tanto es posible declarar un procedimiento o función que devuelva este tipo de dato.