[MS SQL Server] – UPDATE com incremento



Direcionamento de carreira!


sql server
O script abaixo realiza uma tarefa interessante. Através dele é possível atualizar as linhas de uma tabela (ou um conjunto de linhas, caso um filtro seja aplicado) com valores incrementais (o valor inicial e o incremento podem ser definidos).

— Criando tabela temporária para testes
CREATE TABLE #tmp (id int primary key identity(1,1), counter int default 0)
GO

— Inserindo dados na tabela
INSERT INTO #tmp DEFAULT VALUES
GO 10

— Veja como está a tabela
SELECT * FROM #tmp

— PREENCHENDO O CAMPO counter COM VALORES INCREMENTAIS
DECLARE @counter int
SET @counter = 0

UPDATE #tmp
SET @counter = counter = @counter + 1
— Veja novamente a tabela com o campo counter preenchido
SELECT * FROM #tmp

Este script pode ser utilizado para popular qualquer campo que apresente um caráter sequencial, independente do incremento a ser utilizado.

Através dele, pode-se evitar o uso de Cursores e laços While ao fazer atualizações grandes em tabelas.

Referencia:
http://www.sqlserverdicas.com/2011/11/update-com-incremento.html
http://blog.gaudencio.net.br/2015/05/ms-sql-server-update-com-incremento.html

Emerson S. Gaudêncio

Emerson dos Santos Gaudêncio é Analista de Sistemas/ Banco de dados, atualmente trabalha como Analista de Sistemas/Desenvolvedor PL/SQL Oracle na Ábaco Tecnologia da Informação - Cuiabá-MT, Formado em Analise e Desenvolvimento de Sistemas – UNIRONDON-MT; Apaixonado por Tecnologia de banco de dados como o SGBD Oracle, MySQL , MS SQL Server e PostgreSQL. Gosto de musica e nunca dispenso tocar uma guitarra e violão com os Amigos. Blog pessoal: http://blog.gaudencio.net.br - Artigos sobre Banco de dados, Tecnologias de Redes e Servidores Linux e Windows.

More Posts - Website