Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Devolver Select en un Procedimiento

Estas en el tema de Devolver Select en un Procedimiento en el foro de Oracle en Foros del Web. Hola tengo una consulta quisiera saber si se puede devolver un select en un procedimiento almacenado, en SQL Server y Mysql se puede hacer pero ...
  #1 (permalink)  
Antiguo 19/06/2009, 09:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Devolver Select en un Procedimiento

Hola tengo una consulta quisiera saber si se puede devolver un select en un procedimiento almacenado, en SQL Server y Mysql se puede hacer pero no se si se pudienra hacer en Oracle.

Saludos....
  #2 (permalink)  
Antiguo 22/06/2009, 11:27
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: Devolver Select en un Procedimiento

Lo devuelves mediante un cursor.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #3 (permalink)  
Antiguo 03/11/2009, 09:56
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Devolver Select en un Procedimiento

Mediante un cursor...
¿Y cómo se devuelve un cursor, sin usarlo de parámetro?
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #4 (permalink)  
Antiguo 06/11/2009, 07:56
Avatar de 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;
  #5 (permalink)  
Antiguo 06/11/2009, 17:43
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Devolver Select en un Procedimiento

Te dejo este link, ya hemos comentado este tema http://www.forosdelweb.com/f100/devo...sde-pl-529117/

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:54.