Cursores en SQL Server

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
Dejar un comentario?

0 Comentarios.

Deje un comentario


NOTA - Puede usar estosHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.