Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/11/2009, 07:56
Avatar de 8vio
8vio
 
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: Devolver Select en un Procedimiento

Algo asi


Declaras estos tipos de variable en tu paquete o procedimiento

type tablestring is table of varchar2(30)
index by binary_integer;

type tablenumber is table of number
index by binary_integer;


o como quieras llamar a los tipos de dato y su tamaño.



Código:
PROCEDURE X (salida1       OUT tablestring,
                        salida2       OUT tablestring,
                        resultado     OUT tablenumber -- para verificar si trae datos
                        )

IS

      -- Cursor 
      CURSOR nombre_cursor IS
      SELECT resultado1, resultado2
      FROM tabla 
     

      contador NUMBER DEFAULT 1; -- Contador

BEGIN

      FOR single IN nombre_cursor LOOP
       
          salida1(contador):= single.resultado1; 
          salida2(contador):= single.resultado2;
          contador := contador + 1;
       
      END LOOP;
            
      IF (contador = 1) THEN  -- Si al finalizar el loop la variable contador es 1, no existen data
      
          resultado (1) := '0';
      
      ELSE -- existe un resultados o mas
      
          resultado (1) := '1';
      
      END IF;


END;