Hola a todos. Tengo un problema con una tabla temporal lo que pasa es que estoy recorriendolo en un looping (while) cada registro y sirviendome con los campos que arroja cada fila. Intento utilizar estos capos para transacciones como inserts o Update que estan dentro del lopping, pero me sale un error del tipo:
The multi-part identifier "tmp.Cantidad" could not be bound.
Es como si no le reconociera estos campos de la tabla temporal
Estoy trabajando con SQLServer 2005.
Les adjunto un fragmento de mi codigo:
--CREO MI TABLA TEMPORAL
create table #Temp_DetalleOrdenes
(
secuencia int identity,
IdArticulo int,
Cantidad decimal(18,4),
CantidadFaltante decimal(18,4),
Costo decimal(18,4),
Pvp decimal(18,4),
IdTrxOrden int,
IdBodegaDest int,
IdTransaccion0 int
)
--LO ASIGNO VALORES DE UN XML
insert into #Temp_DetalleOrdenes
(
IdArticulo,
Cantidad,
CantidadFaltante,
Costo,
Pvp,
IdBodegaDest,
IdTrxOrden,
IdTransaccion0
)
select
IdArticulo,
Cantidad,
CantidadFaltante,
Costo,
PVP,
IdBodegaDest,
IdTrxOrden,
IdTransaccion
from openxml(@VL_IdXML, '/Usuario/ResultSet/Detalle/Item')
with
(
IdArticulo int, Cantidad decimal(18,4), CantidadFaltante decimal(18,4),
Costo decimal(18,4), Pvp decimal(18,4), IdBodegaDest int,
IdTrxOrden int, IdTransaccion int
)
--CREO UN LOOPING
--select '@numrows'=@numrows
declare @x int
set @x=1
while @x <= @numrows -- Cantidad total de registros para barrerme
Begin
--SELECCIONO LOS RTEGISTROS DE LA FILA ACTUAL PARA UTILIZARLOS LUEGO
select
tmp.IdTransaccion0, tmp.IdTrxOrden, tmp.IdArticulo, tmp.Cantidad, tmp.CantidadFaltante, tmp.Costo, tmp.PVP, tmp.IdBodegaDest
from #Temp_DetalleOrdenes tmp
where tmp.secuencia=@x
--HAGO UNA TRANSACCION DE UPDATE
Update Inv_DetalleOrdenIngresoEgreso
set
Cantidad=tmp.Cantidad, -- De la tabla temporal(*)
CantidadFaltante=tmp.CantidadFaltante -- De la tabla temporal(*)
Where
IdEmpresa = @VL_IdEmpresa
and IdOficina = @VL_IdOficina
and IdBodega = @VL_IdBodega
and IdMotivo = @VL_IdMotivo
and IdTransaccion = @V_IdTransaccion -- De la tabla temporal (*)
and IdArticulo = @V_IdArticulo -- De la tabla temporal (*)
(*): EL ERROR ME SALE EN ESTOS CAMPOS.. Cómo hago?
Gracias por ayudarme...!!!