Recorrer una tabla temporal fila a fila

26/09/2005 - 11:54 por ernessan | Informe spam
Hola a todos!
Quisiera saber cómo puedo recorrer una tabla temporal fila por fila , con el
contador iNumFilas , el código sería el siguiente :

declare @s varchar(2000)
declare @iContador as smallint
declare @iNumArt as smallint
declare @iNumFilas as smallint

DECLARE @SQL nvarchar(2000)

INSERT INTO @DAlbaran
SELECT ARTC_IdArticulo,ARTC_Unidades,ARTC_IdDAlbaran
FROM ArticulosCompra
WHERE ARTC_IdCAlbaran 8

SELECT * from @dAlbaran
WHERE rowid =1

set @iContador=0

while @iContador<@iNumFilas
begin
set @iContador = @iContador +1

SET @SQL = N'SELECT * from @dAlbaran '
SET @SQL = @SQL + ' WHERE rowid =' + CAST(@iContador AS varchar)


print @sql

EXEC sp_executesql @SQL


continue

end
 

Leer las respuestas

#1 Carlos Sacristán
26/09/2005 - 12:49 | Informe spam
Para procesar fila a fila un conjunto de resultados no te queda otra que
usar un cursor, y en la gran mayoría de los casos, lo que se puede hacer con
un cursor se puede implementar de otra forma más eficiente.

¿Qué es lo que necesitas hacer exactamente?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"ernessan" <ernestoARROBAbyte-factory.com> escribió en el mensaje
news:

Hola a todos!
Quisiera saber cómo puedo recorrer una tabla temporal fila por fila , con


el
contador iNumFilas , el código sería el siguiente :

declare @s varchar(2000)
declare @iContador as smallint
declare @iNumArt as smallint
declare @iNumFilas as smallint

DECLARE @SQL nvarchar(2000)

INSERT INTO @DAlbaran
SELECT ARTC_IdArticulo,ARTC_Unidades,ARTC_IdDAlbaran
FROM ArticulosCompra
WHERE ARTC_IdCAlbaran 8

SELECT * from @dAlbaran
WHERE rowid =1

set @iContador=0

while @iContador<@iNumFilas
begin
set @iContador = @iContador +1

SET @SQL = N'SELECT * from @dAlbaran '
SET @SQL = @SQL + ' WHERE rowid =' + CAST(@iContador AS varchar)


print @sql

EXEC sp_executesql @SQL


continue

end


Preguntas similares