Para recorrer una tabla tienes que utilizar un cursor.
Se utiliza de la siguiente forma:
Código:
DECLARE CURSOR nombrecursor FOR
Sentencia SQL
Luego, lo abres :
Código:
OPEN cursor_puestos
y lo recorres
Código:
FETCH NEXT FROM cursor_puestos
WHILE @@FETCH_STATUS = 0
BEGIN
....
FETCH NEXT FROM cursor_puestos
END
CLOSE cursor_puestos
DEALLOCATE cursor_puestos
Si quieres recuperar los valores de los campos del cursor, declaras variables de ese tipo de datos, e insertas los valores del cursor en las variables. Mas o menos como:
Código:
DECLARE @Campo int
DECLARE nombrecursor CURSOR FOR
SELECT Campo
FROM Tabla
OPEN nombrecursor
FETCH NEXT FROM nombrecursor
INTO @Campo
WHILE @@FETCH_STATUS = 0
BEGIN
-- aqui puedes trabajar con @Campo, que tendra el valor de cada
-- campo en la consulta
FETCH NEXT FROM nombrecursor
INTO @Campo
END
CLOSE nombrecursor
DEALLOCATE nombrecursor
Si tienes mas dudas, consulta el tema en SQL Books Online