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

Procedimiento que muestra una tabla

Estas en el tema de Procedimiento que muestra una tabla en el foro de Oracle en Foros del Web. Hola!, Estoy aprendiendo a trabajar con oracle, y mientras intentaba hacer un procedure me surgieron algunos problemas. Mi procedimiento deberia mostrar como resultado final una ...
  #1 (permalink)  
Antiguo 08/04/2015, 13:45
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Procedimiento que muestra una tabla

Hola!,
Estoy aprendiendo a trabajar con oracle, y mientras intentaba hacer un procedure me surgieron algunos problemas.
Mi procedimiento deberia mostrar como resultado final una tabla con informacion que obtengo de otras tablas pero estas tablas no estan relacionadas directamente.
Buscando en intenet, encontre que podia utilizar INNER JOIN, pero no supe como utlizarlo pues, para este caso, necesito hacer muchos inner join en la misma sentencia, esto fue lo que intente

Código SQL:
Ver original
  1. BEGIN
  2. SELECT PEDIDO.ID,item.nombre INTO id_ped,nombre_item FROM item
  3.       INNER JOIN comanda ON comanda.item_id=item.id
  4.       INNER JOIN pedido ON pedido.id = comanda.pedido_id
  5.       INNER JOIN cuenta ON pedido.cuenta_id = cuenta_cons;
  6.       echo('asdasd');
  7.     END loop;
  8. END;

pero me arrojo un error pues dice que me falta un INTO, pero como el select devuelve mas de un resultado, me arroja un error si intento utilizar eso

Como alternativa encontre que podia usar cursores, sin embargo, no se como mostrar los datos que guarde en el cursor, es decir mostrarlos como una tabla que seria lo ideal, lei que existen las tablas temporales o algo asi, pero no se como usarlas.

Ojala me puedan ayudar, soy aun muy noob en esto.

  #2 (permalink)  
Antiguo 08/04/2015, 14:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Procedimiento que muestra una tabla

Un SP no puede usar un SELECT puro sin meter el resultado en alguna parte, sea una collection o un cursor. De lo contrario te da ese error.
En cuanto al mostrar los resultados basados en cursores o arrays, dependerá del lenguaje usado, es decir que es tema de programaciópn y no de Oracle en realidad.
En .Net, por ejemplo, es posible mapear los cursors definidos en Oracle cuando usas packages, aunque siguen existiendo ciertas limitaciones en los tipos.
El tema se escapa del foro, por lo que deberías verlo desde el lado del lenguaje a usar.

¿En qué trabajas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 08/04/2015, 14:29
 
Fecha de Ingreso: enero-2013
Mensajes: 10
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Procedimiento que muestra una tabla

La verdad es que no estoy trabajando en ningun lenguaje, la idea es solo crear la base de datos y algunos view,trigger y procedure.
Me dan este modelo a replicar:



y me pieden crear el siguiente procedure:
procedure_cuenta : recibe una cuenta y entrega el detalle, el cual indica los componentes de cada pedido que se realizo para dicha cuenta.

Eso es posible realizarlo?? ... porque realmente lo he intentado de muchas formas.

Gracias por responder :3

Etiquetas: procedimientos
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 13:40.