Siempre nos puede ser util recorrer los resultados de una consulta para hacer alguna operación sobre cada registro en concreto. Supongamos por ejemplo que queremos asignar una contraseña distinta a cada usuario de una tabla.
-- declaramos la variable en la que almacenaremos el identificador del registro a modificar
declare @id as int
-- declaramos el cursorpara la consulta que queramos
declare ELCURSOR cursor for select id_usuario from usuarios
open ELCURSOR
-- metemos el primer refistro en la variable
fetch next from ELCURSOR into @id
while @@fetch_status = 0
begin
-- actualizamos el campo del registro
update usuarios set contrasena = right(convert(varchar(50), NEWID()), 10) where id_usuario = @id
-- avanzamos al siguiente registro
fetch next from ELCURSOR into @id
end
-- cerramos el cursor
close ELCURSOR
deallocate ELCURSOR
0 Comentarios.