Trabalhando com campo auto incremento no SQL Server 1


Um campo auto incremento pode ser utilizado como código ou chave primeira de uma tabela. Toda vez que um novo registro é criado, este campo será incrementado automaticamente. Para criar uma tabela de exemplo com um campo de auto incremento, use a seguinte sintaxe:

CREATE TABLE [dbo].[tProfissionais](

[Codigo] [int] IDENTITY(1,1) NOT NULL,

[Nome] [varchar](50),

[Funcao] [varchar](50))

Se a tabela já existir, você pode modificar da seguinte forma:

ALTER TABLE [dbo].[tProfissionais]

ALTER COLUMN [Codigo] int IDENTITY(1,1);

Agora, ao inserir um registro nesta tabela, o campo “Codigo” receberá automaticamente o valor 1:

INSERT INTO [dbo].[tProfissionais] (Nome, Funcao) VALUES ('Mister POG', 'Programador');

Para resetar o campo auto incremento, use o seguinte código (onde o “0” é o valor inicial do campo):

DBCC CHECKIDENT ('tProfissionais', RESEED, 0)

Para pegar o próximo valor do autoincremente, use o código:

SELECT (IDENT_CURRENT('tProfissionais')+1) AS Proximo

Desta forma, você evita eventuais problemas encontrados com a sintaxe “SELECT MAX(Codigo) FROM [dbo].[tProfissionais]” já que ela retornará o último valor da tabela e esta valor pode não ser o mesmo do auto incremento se houve alguma exclusão de registro.

Espero que estas dicas sejam úteis 😉

Últimos 5 artigos de Fernando Fonte

Sobre Fernando Fonte

De Campinas-SP, bacharel em Ciência da Computação. Atua como Analista Programador em uma empresa de tecnologia. Tem experiência no desenvolvendo de softwares para comunicação e controle de hadware via porta serial e sistemas ERP. Possui conhecimento em sistemas operacionais Windows, programação Delphi e Visual Basic 6 e Banco de Dados SQL Server e MySQL. Atualmente estuda C# e Android. Tem interesse em Jogos, Celulares, Smartphones, Notebooks e tudo que for relacionado a tecnologia. Fundador deste site e editor chefe, convidou amigos para lhe ajudar com este projeto.

Deixe uma resposta

Um pensamento em “Trabalhando com campo auto incremento no SQL Server