Thursday, December 1, 2011

Actualizar una tabla mediante Un bucle

Frase del día: "El conocimiento hincha pero el amor edifica"

Sql Server. Cursor. While. Bucle. Update. Loop to update records in sql server. Using While Loop for SQL Server Update.

Si tu tabla está llena de datos y queres actualizar un campo con un dato algo genérico, podemos utilizar los beneficios de los bucles.

Si tu primary key es un correlativo y sabes que va en orden, lo más sencillo sería hacerlo así:

DECLARE @id BIGINT 
SET @id = 1
WHILE @id < 12
BEGIN
update test set descripcion='aquí el dato genérico' where id=@id
SET @id = @id + 1
END

En el caso de que no, entonces sería utilizando cursor. Checka:

DECLARE @id BIGINT
DECLARE myTable CURSOR FOR
SELECT id FROM test
OPEN myTable
FETCH NEXT FROM myTable
INTO @id
WHILE @@FETCH_STATUS = 0
BEGIN
update test set descripcion='aquí el dato genérico' where id=@id
FETCH NEXT FROM myTable
INTO @id
END

Es que a mi me tocó hacer algo parecido. Pero no usé ninguno de las dos utilidades, mi caso era un caso especial jeje. Lo tuve que hacer por vb.net no más xD.

HaPPy CoDiNg.

No comments:

Post a Comment