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

Retornar un Select desde Procedimiento Almacenado

Estas en el tema de Retornar un Select desde Procedimiento Almacenado en el foro de Oracle en Foros del Web. Hola amigos, he trabajado un buen tiempo con el SQL SERVER y he visto la facilidad de retornar selecciones como por ejemplo: Código: create procedure ...
  #1 (permalink)  
Antiguo 04/06/2007, 07:21
Avatar de jhoncacru  
Fecha de Ingreso: mayo-2004
Ubicación: cochabamba-Bolivia
Mensajes: 107
Antigüedad: 20 años, 7 meses
Puntos: 1
Retornar un Select desde Procedimiento Almacenado

Hola amigos, he trabajado un buen tiempo con el SQL SERVER y he visto la facilidad de retornar selecciones como por ejemplo:
Código:
create procedure [dbo].[ASISTENCIA_SPS]
(
  @id_categoria_evento as integer
)
as
begin
select aa.nombre_area,aa.id_area, 
       (select count(aas.id_asistencia) 
        from asis_unidad au
          inner join asis_sector ase on ase.id_unidad=au.id_unidad
          inner join asis_personal ap on ap.id_sector=ase.id_sector
          inner join asis_asistencia aas on aas.codigo_barra=ap.codigo_barra
          inner join asis_evento ae on ae.id_evento=aas.id_evento
          inner join asis_categoria_evento ace on ace.id_categoria_evento=ae.id_categoria_evento
        where ace.id_categoria_evento=@id_categoria_evento and au.id_area=aa.id_area ) as cantidad
from asis_area aa
end
He migrado la base de datos a ORACLE 10g, pues la empresa así lo requirió, ahora tengo dificultades de compilar este procedimiento en ORACLE, me parece que ORACLE maneja de diferente modo el retorno de selecciones.

Como puedo hacer para retornar una seleccion completa desde oracle con procedimientos almacenados?.
__________________
Gracias de antemano.
  #2 (permalink)  
Antiguo 04/06/2007, 10:34
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 9 meses
Puntos: 7
Re: Retornar un Select desde Procedimiento Almacenado

la facil es que hagas un TYPE y en el parametro del procedimiento lo declares del tipo del TYPE, aqui explico como crear un type

http://www.blogzote.com/2007/04/20/types-en-oracle/
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 09/06/2007, 18:46
Avatar de jhoncacru  
Fecha de Ingreso: mayo-2004
Ubicación: cochabamba-Bolivia
Mensajes: 107
Antigüedad: 20 años, 7 meses
Puntos: 1
Re: Retornar un Select desde Procedimiento Almacenado

kikolice muchas gracias por responder, perdon por la tardanza
Bueno talvez es un poco chino lo que me mostraste con los types, talvez un ejemplo mas claro sobre el retorno de una seleccion ??
estoy trabajando con JAVA
__________________
Gracias de antemano.
  #4 (permalink)  
Antiguo 13/06/2007, 12:27
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Retornar un Select desde Procedimiento Almacenado

Qué casualidad, lo mismo pregunté yo hace nada, tanto en medio de un tópic de aquí, como en la sección de .NET.

Ahora mismo no lo estoy mirando, pero cuando lo haga, si me entero de algo te aviso.
  #5 (permalink)  
Antiguo 13/06/2007, 12:59
(Desactivado)
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Retornar un Select desde Procedimiento Almacenado

create or replace type tblnumber is table of number;
/

create or replace function f return tblnumber is
tbln tblnumber;
begin
select rownum
bulk collect into tbln
from all_objects
where rownum<10;
return tbln;
end;
/

select * from table(f);
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 11:15.