none
Capturar el resultado de un Sp desde otro Sp en un cursor RRS feed

Respuestas

  • Hola amigo,

    Tu lo que quieres es algo como lo que detallo en el siguiente codigo?

    create procedure getCursor
    as 
    begin
    create table #numero
    (
    	numero int 	
    )
    insert into #numero
    exec dbo.getNumero --Cargo en una tabla temporal el resultado de un SP
    declare @numero int
    declare cursorTest cursor for 
    select numero from #numero -- Le asigno el resultado del SP a un cursor
    open cursorTest
    fetch next from cursorTest
    into @numero
    while @@fetch_status = 0
    begin
    	select @numero * 2 
    	fetch next from cursorTest
    	into @numero
    end
    close cursorTest
    deallocate cursorTest
    end 

    Fijate si te sirve

    Saludos

    miércoles, 7 de marzo de 2012 18:04

Todas las respuestas

  • Un cursor no devuelve un resultado.  Un cursor es una entidad que es capaz de extraer valores de un bloque de resultados uno a uno.  ¿Qué es exactamente lo que quiere lograr?

    Jose R. MCP

    miércoles, 7 de marzo de 2012 17:10
  • hola Jose,

    lo que necesito hacer es capturar el resultado de un sp, en alguna variable, desde otro sp...no se si me explico...y pensaba que esa variable puede ser un cursor...

    algo asi como esto...(solo la idea)

    create procedure spxxxxx

     declare @var

      @var = execute spyyyyy

    miércoles, 7 de marzo de 2012 17:14
  • Eso que usted muestra es SQL válido (casi, faltó el "As" después de Create Procedure, y Set antes de @var en la línea de execute).  No hay necesidad de un cursor para eso.

    Jose R. MCP

    miércoles, 7 de marzo de 2012 17:17
  • Hola.

    Expón tu caso en detalle para que podamos guiarte.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

    miércoles, 7 de marzo de 2012 17:43
    Moderador
  • Hola amigo,

    Tu lo que quieres es algo como lo que detallo en el siguiente codigo?

    create procedure getCursor
    as 
    begin
    create table #numero
    (
    	numero int 	
    )
    insert into #numero
    exec dbo.getNumero --Cargo en una tabla temporal el resultado de un SP
    declare @numero int
    declare cursorTest cursor for 
    select numero from #numero -- Le asigno el resultado del SP a un cursor
    open cursorTest
    fetch next from cursorTest
    into @numero
    while @@fetch_status = 0
    begin
    	select @numero * 2 
    	fetch next from cursorTest
    	into @numero
    end
    close cursorTest
    deallocate cursorTest
    end 

    Fijate si te sirve

    Saludos

    miércoles, 7 de marzo de 2012 18:04
  • Hola.

    No nos has pasado detalles de tu caso. Sin ello, es difícil que podamos ayudarte.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

    sábado, 17 de marzo de 2012 21:31
    Moderador