![]() |
Procedimiento Almacenado Hola que tal, migre algunas tablas del conocido northwind hacia una instancia de oracle para empezar a hacer algunas pruebas. Estoy creando algunos procedimeintos almacenados que me devuelva un conjunto de filas... Inicialmente lo hice de la siguiente manera: Código: create or replace procedure up_MiProcedure ... bueno luego de inventigar un poco mas llegue a hacerlo de la siguiente manera : Código: create or replace procedure up_MiProcedure bueno, no arrojo error pero al ejecutar me da el siguiente mensaje : la recuperación exacta devuelve un numero mayor de filas que el solicitado. ahora alli va mi pregunta... a que se debe esto... como y cual es la manera de realizar procedimientos almacenados que devuelvan un conjunto de filas con o sin parametros... Atentamente. Gracias Luis A. |
Re: Procedimiento Almacenado Hola, En este link se habla un poco sobre la forma de devolver un conjunto de resultados en un procedimiento o funcion. http://www.forosdelweb.com/f100/inse...do-spl-538309/ Cita:
Saludos |
Re: Procedimiento Almacenado Ante todo gracias por responder. Bueno quiza me haya confundido, puesto que me inicie con Ms Sql Server y estoy iniciandome en Oracle. Lo que estoy tratando de obtener es un conjunto de resultados, bueno entonces me dices que la unica manera de obtener tal resultado es mediante el tipo sys_refcursor. Luego para manejar dicho resultado deberé recorrer tal cursor para recien poder visualizarlo... Gracias L.A. |
Re: Procedimiento Almacenado Hola, Cita:
Creo una tabla de ejemplo y le cargo algunos datos. Código: SQL> create table t1 ( id number, name varchar2(20));Código: SQL> create or replace procedure p1Código: SQL> variable c1 refcursor;Saludos |
Re: Procedimiento Almacenado ok. Muchas gracias, ya comprendi. Me sirvio mucho tu repuesta. Gracias, y hasta una proxima consulta. :-) Luis. A. |
Re: Procedimiento Almacenado bueno otra ves consultando... Código: create or replace procedure prueba2Codigo A : Código: declare Pero no puedo encontrar por ningun lado el conjunto de filas como resultado del select. Por otro lado, con el PL/SQL Developer ejecuto lo suiguiente : Codigo B: Código: beginMi pregunta es por que cuando trato de ejecutar el codigo A , me arroja el error : numero/nombre variable no valido Ademas me podrias explicar por que se coloca el => y el =>: y el : Gracias de antemano. Saludos :-):-):-):-):-) |
Re: Procedimiento Almacenado Hola, De todo lo que preguntas solo puedo responder a poco :( Código: SQL>Tambien tiene otro uso, pero no funcional, sino visual, para orientarnos mejor al momento de leer la llamada a un procedimiento, imagina que tienes 10 parametros de entrada/salida, expresandolo como NOMBRE_PARAMETRO=>VALOR es mas ordenado y nos da una mejor interpretacion cuando leemos el codigo. Por lo demas, se de hecho que el TOAD puede mostrar el contenido del sys_refcursor, pero hace mucho que no lo utilizo y no recuerdo como se hace, pero conociendo a la gente de QUEST, lo mas probable es que tengas que hacer algo asi como: 1. Boton derecho sobre el nombre del procedimiento. 2. En el menu desplegable, tavlez exista una opcion de Ejecutar o Probar. 3. Aparecera algun tipo de asistente que te guia sobre como completar los valores de los parametros. 4. Al finalizar probablemente te muestre una grilla con los valores del sys_refcursor. Saludos |
Re: Procedimiento Almacenado Ok. Gracias una vez mas, y tratare de investigar mas acerca de la visualización. Gracias :arriba::arriba::arriba::arriba::arriba::arriba: |
| La zona horaria es GMT -6. Ahora son las 01:54. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.