Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/05/2008, 08:19
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Duda Procedimiento Oracle

Hola,

Te dejo procedimiento, que en resumen, incluye todos los ejemplos que creo vas a necesitar.

1. Creo el procedimiento, que toma como parametro el nombre de la tabla a la que tiene que consultar, y por parametro de salida devuelve el conjunto de resultados

Código:
oracle@A9I> 
  1  create or replace procedure p1 (table_name varchar2, c out sys_refcursor)
  2  as
  3  begin
  4  open c for 'select * from ' || table_name;
  5* end;

Procedimiento creado.
2. Ejecuto el procedimiento, el formato del ejemplo tiene que ver con el SQL*Plus, la llamada puede variar si se hace desde algun Driver o Provider.

Código:
oracle@A9I> variable c refcursor
oracle@A9I> exec p1('DUAL',:c);

Procedimiento PL/SQL terminado correctamente.
3. Finalmente, muestro por pantalla el conjunto de resultados de la consulta.

Código:
oracle@A9I> print c

D
-
X

Transcurrido: 00:00:00.00
Saludos