Hola,
¿se puede realizar eso? ¿Cómo (qué tipo de variable defines que luego puedas devolver mediante un return y que lo que devuelva sea los registros de tipo select, para recoger desde una página ASP)?
| |||
Devolver una consulta select desde un PL Hola, ¿se puede realizar eso? ¿Cómo (qué tipo de variable defines que luego puedas devolver mediante un return y que lo que devuelva sea los registros de tipo select, para recoger desde una página ASP)? |
| |||
Re: Devolver una consulta select desde un PL Es decir, ¿con un procedimiento en lugar de una función? Bueno, y si hay que añadir ese parámetro, lo veo demasiado poco directo, creo que buscaré una solución alternativa. Gracias, un saludo |
| ||||
Re: Devolver una consulta select desde un PL Hola, Es lo mismo utilizar una funcion que un procedimiento, la diferencia es donde esperar el sys_refcursor, ya sea por retorno o por parametro de salida.
Código:
La idea era comentar que sys_refcursor es el tipo de dato que provee Oralce para devolver un conjunto de resultados hacia ADO.SQL> create or replace function f1 return sys_refcursor 2 is 3 q sys_refcursor; 4 begin 5 open q for select * from dual; 6 return q; 7 end; 8 / Function created. Saludos |
| ||||
Re: Devolver una consulta select desde un PL Hola, Eso depende de como estes accediendo a base de datos, posteo un ejemplo que utiliza ADO 2.8 y jscript.
Código:
Ahora el ConnectionString de ADOSQL> create table t10 (id number, nombre varchar2(100)); Tabla creada. SQL> insert into t10 values (1,'nombre 1'); 1 fila creada. SQL> insert into t10 values (2,'nombre 2'); 1 fila creada. SQL> insert into t10 values (3,'nombre 3'); 1 fila creada. SQL> commit; SQL> select * from t10; ID NOMBRE ---------- ------------------------------------ 1 nombre 1 2 nombre 2 3 nombre 3 SQL> SQL> create or replace procedure p1 (c out sys_refcursor) 2 is 3 begin 4 open c for 5 select * from t10; 6 end; 7 / Procedimiento creado.
Código:
Saludos. "Provider=OraOLEDB.Oracle.1;Password=xxx;Persist Security Info=True;User ID=user_name;Data Source=ora_sid;PLSQLRSet=1;" Última edición por matanga; 15/11/2007 a las 01:31 Razón: Se quita codigo de programacion, no corresponde al foro. |