Mi prefieren solución es Microsoft KB 111401 http://support.microsoft.com/kb/111401.
El enlace se refiere a 3 ejemplos:
Este artículo describe varios métodos que se pueden utilizar para simular una lógica FETCH-NEXT cursor-como en un procedimiento almacenado, disparador, o lote de Transact-SQL.
/********** example 1 **********/
declare @au_id char(11)
set rowcount 0
select * into #mytemp from authors
set rowcount 1
select @au_id = au_id from #mytemp
while @@rowcount <> 0
begin
set rowcount 0
select * from #mytemp where au_id = @au_id
delete #mytemp where au_id = @au_id
set rowcount 1
select @au_id = au_id from #mytemp<BR/>
end
set rowcount 0
/********** example 2 **********/
declare @au_id char(11)
select @au_id = min(au_id) from authors
while @au_id is not null
begin
select * from authors where au_id = @au_id
select @au_id = min(au_id) from authors where au_id > @au_id
end
/********** example 3 **********/
set rowcount 0
select NULL mykey, * into #mytemp from authors
set rowcount 1
update #mytemp set mykey = 1
while @@rowcount > 0
begin
set rowcount 0
select * from #mytemp where mykey = 1
delete #mytemp where mykey = 1
set rowcount 1
update #mytemp set mykey = 1
end
set rowcount 0
bien, Yo no probar nada. No sé cómo hacerlo. Supongo que podría intentar escribir un ciclo de estilo 'C', pero dudo que eso funcione. Tal vez un loop de estilo 'PHP', pero nuevamente dudo que eso funcione también. Necesito hacerlo todo en T-SQL porque puedo ejecutar el SQL en SMS sin un lenguaje externo haciendo el bucle ... En primer lugar, la pregunta. – Justin808
@Shedal La ironía de esos comentarios/respuestas (aunque menos que las respuestas de "google it") es que, con el tiempo, tienden a convertirse en los principales resultados de Google. Por lo tanto, cuando alguien busca una solución al problema, lo primero que encuentra es un ataque (generalmente justificado) de otra persona que tuvo el problema, pero que no se molestó en buscar la respuesta por sí mismo. A la larga, se vuelve molesto para las personas que realmente intentan buscar la respuesta. – jahu
@MarcinHabuszewski bien, para ser honesto, en caso de que no haya una respuesta adecuada para una pregunta común, no aparecerá en la primera página de los resultados de búsqueda de Google. Normalmente. –