Saludos!
Necesito hacer un procedimiento almacenado para listar en oracle, pero solo puedo sacar una fila y no varias, como hago para que me devuelva toda una lista?
| ||||
Respuesta: procedimiento almacenado para listar algo así:
Código:
Solo que manda error porque son varias filas, si es solo una si funciona, se puede hacer que sirva para varias filas? o si se puede hacer en una función? create or replace procedure SP_Listar_Cursos(pCodigo out number, pNombre out varchar2) is begin begin select Codigo, Nombre into pCodigo, pNombre from Curso; end; end SP_Listar_Cursos; |
| ||||
Respuesta: procedimiento almacenado para listar Primero: Para obtener una salida de más de un registro, te recomiendo usar como parámetro de salida un CURSOR. El cómo se maneja dependerá luego del lenguaje de programación usado en la aplicación. También puedes usar arrays, según el caso. Segundo: ¿Función? Creo que no tienes en claro lo que es una función en ningún caso Una función (recordar matemática) es una operación que devuelve un único valor en base a los parámetros. Un único valor, y por ende no puede devolver un array ni una tabla...
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: procedimiento almacenado para listar Hola felipelvrd, Te dejo un ejemlo de como debe quedar tu listar el mismo se realizad usando tipos, colecciones y cursores al final devuelve una colección. Tal vez te de una idea.
Código SQL:
Ver original Última edición por gnzsoloyo; 15/05/2013 a las 03:10 |
| ||||
Respuesta: procedimiento almacenado para listar bueno, al final lo resolví con una función que retorna una tabla, según como dice aquí http://www.java2s.com/Tutorial/Oracle/0540__Function-Procedure-Packages/Returnatablecollection.htm También probé lo del cursor, pero me gusto mas de la forma anterior. |
Etiquetas: |