variables

18/11/2005 - 16:27 por SergioT | Informe spam
hola

necesito hacer un store procedutre facil, algo asi:

SELECT CodItem, Sum(CantSalidas) as CanSal , Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem


Esto me dará como resultado una sola fila, ahora necesito pasar a variables
cada uno de los campos de la fila resultante, esto dentro del mismo
StoreProcedure. Como hago esto ?? se puede procesar fila a fila el resultado
de la consulta dentro del mismo SP??

algo asi quisiera hacer dentro del sp

@MiTablaResultado =( SELECT CodItem, Sum(CantSalidas) as CanSal ,
Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem)

while not @MiTablaResultado.FinDeArchivo
@MiVar1 =@MiTablaResultado.CanSal
@MiVar2 =@MiTablaResultado.CanIng
If @MiVar2>0
select * from x
end while

gracias
Salu2
Sergio
Santa Cruz-Bolivia
DCE-2

Preguntas similare

Leer las respuestas

#1 Maxi
18/11/2005 - 16:58 | Informe spam
Para que quieres pasarlo a variables?


Salu2
Maxi [MVP SQL SERVER]


"SergioT" escribió en el mensaje
news:
hola

necesito hacer un store procedutre facil, algo asi:

SELECT CodItem, Sum(CantSalidas) as CanSal , Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem


Esto me dará como resultado una sola fila, ahora necesito pasar a
variables cada uno de los campos de la fila resultante, esto dentro del
mismo StoreProcedure. Como hago esto ?? se puede procesar fila a fila el
resultado de la consulta dentro del mismo SP??

algo asi quisiera hacer dentro del sp

@MiTablaResultado =( SELECT CodItem, Sum(CantSalidas) as CanSal ,
Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem)

while not @MiTablaResultado.FinDeArchivo
@MiVar1 =@MiTablaResultado.CanSal
@MiVar2 =@MiTablaResultado.CanIng
If @MiVar2>0
select * from x
end while

gracias
Salu2
Sergio
Santa Cruz-Bolivia
DCE-2

Respuesta Responder a este mensaje
#2 Alejandro Mesa
19/11/2005 - 03:39 | Informe spam
SergioT,

SELECT CodItem, Sum(CantSalidas) as CanSal , Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem


Esto me dará como resultado una sola fila, ahora necesito pasar a variables
cada uno de los campos de la fila resultante, esto dentro del mismo
StoreProcedure. Como hago esto ??



declare @CanSal numeric(17, 4), @CanIng numeric(17, 4)

select @CanSal = Sum(CantSalidas), @CanIng = Sum(CanInggresos)
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem

Si la sentencia select devuelve mas de un grupo, entonces las variables
tendran el valor de uno solo de ellos y como no tenemos una clausula "order
by" pues no sabremos a cual de los grupos pertenece esos valores.

se puede procesar fila a fila el resultado
de la consulta dentro del mismo SP??

algo asi quisiera hacer dentro del sp

@MiTablaResultado =( SELECT CodItem, Sum(CantSalidas) as CanSal ,
Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem)

while not @MiTablaResultado.FinDeArchivo
@MiVar1 =@MiTablaResultado.CanSal
@MiVar2 =@MiTablaResultado.CanIng
If @MiVar2>0
select * from x
end while



Si se puede procesar fila a fila el resultado (busca informacion sobre
"cursores" en los libros en linea) pero eso no es recomendable y primero
deberias buscar una solucion basada en conjuntos, que es para lo cual sql
server fue diseniado.


AMB

"SergioT" wrote:

hola

necesito hacer un store procedutre facil, algo asi:

SELECT CodItem, Sum(CantSalidas) as CanSal , Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem


Esto me dará como resultado una sola fila, ahora necesito pasar a variables
cada uno de los campos de la fila resultante, esto dentro del mismo
StoreProcedure. Como hago esto ?? se puede procesar fila a fila el resultado
de la consulta dentro del mismo SP??

algo asi quisiera hacer dentro del sp

@MiTablaResultado =( SELECT CodItem, Sum(CantSalidas) as CanSal ,
Sum(CanInggresos) as CanIng
FROM tMovimiento
WHERE CodItem=@CodItem
GROUP BY CodItem)

while not @MiTablaResultado.FinDeArchivo
@MiVar1 =@MiTablaResultado.CanSal
@MiVar2 =@MiTablaResultado.CanIng
If @MiVar2>0
select * from x
end while

gracias
Salu2
Sergio
Santa Cruz-Bolivia
DCE-2



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida