locked
Ayuda, procedimiento almacenado que devuelve varios registros RRS feed

  • Pregunta

  •  

    Necesito ayuda para recoger todos los registros que me devuelve un procedimiento almacenado.

    el proecdimiento que lanzo es del tipo:

    EXECUTE datos.dbo.nombre 'JUAN ','1'

     

    Al realizarlo me devuelve una o  varias filas. Esto es correcto, pero ahora necesito recoger todas las

    filas que me devuelve sea 1 o varias.

     

    Haber si alguien me puede ayudar 

     

     

    Muchas gracias

     

     

     

    jueves, 22 de noviembre de 2007 17:12

Respuestas

  • En este caso, la clave está en saber cómo se desean recoger los registros. El procedimiento almacenado parece estar correcto, con lo que la cuestión es de la aplicación o lenguaje de programación con la que se deseen capturar.
    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    miércoles, 18 de agosto de 2010 11:00
    Moderador

Todas las respuestas

  • Hola FRingo:

     

    Puedes usar osql.exe en la propia instancia para lanzar consultas desde la línea de comandos.

     

    También puedes hacer un script o compilar un algoritmo para obtener esos datos.

     

    Si este mensaje te ha resultado útil ruego que marques la respuesta cómo válida.

     

    Un saludo,

    Rafael Valcárcel Lázaro

     

    MCSE

    MCSA

    CCNA

    ITIL Service Foundation

     

    sábado, 24 de noviembre de 2007 3:06
  • Gracias por contestar.

     

    No te entiendo muy bien cuando me dices que puedo utiilzar un script.

     

    El problema es que el procedimiento almacenado está ya creado y necesito recoger los datos como si fuese una

    consulta para insertar los resultados en una tabla. He pensado hacer una función del usuario que me devuelva una tabla.

    ¿es eso lo que indicas?.

     

    ¿Que te parece?.

     

    Saludos.

     

    lunes, 26 de noviembre de 2007 8:03
  • Así es, lo mejor sería que te crees una función (en línea) para obtener los datos y los puedas almacenar en una tabla.

    Otra solución sería que dentro del store procedure hagas el insert de los datos en la tabla.

     

    Saludos,

     

    miércoles, 5 de diciembre de 2007 16:37
  • Yo utilizo store procedures que devuelven varias líneas.

    Primero te sugiero que lo justo después de BEGIN escribas:

    SET NOCOUNT ON;

    para que el sp sólo devuelva la consulta y no un registro indicando si la ejecución fue correcta (eso lo controlas desde la aplicación)

    Luego tienes dos opciones usas el string "EXECUTE datos.dbo.nombre 'JUAN ','1'" como si fuera un select común y corriente.

    Otra opción si usas C# u otro lenguaje de visual studio que cuando uses un comando indicale que el tipo de comando es Store Procedure y usas el string
    "datos.dbo.nombre 'JUAN ','1"

    Espero que te haya servido esto
    martes, 11 de diciembre de 2007 15:06
  •  

    Gracias por contestar y perdonar por la tardanza.

     

    En cuanto lo pueda probar os comento.

    martes, 11 de diciembre de 2007 15:16
  • En este caso, la clave está en saber cómo se desean recoger los registros. El procedimiento almacenado parece estar correcto, con lo que la cuestión es de la aplicación o lenguaje de programación con la que se deseen capturar.
    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    miércoles, 18 de agosto de 2010 11:00
    Moderador