6 – T-SQL – IDENTITY – Auto-incremento de valores em colunas – SQL Server

AUTO INCREMENTO (IDENTITY) no SQL SERVER

  • O auto incremento permite que um número único seja gerado automaticamente quando um novo registro é inserido em uma tabela.
  • Em SQL SERVER usamos a palavra chave IDENTITY (identidade), cujo valor inicial padrão é 1, e se incrementa em 1.
  • Para que o valor de IDENTITY inicie, por exemplo em 100, e se incremente de 2 em 2, use IDENTITY(100,2)
  • Ao inserir valores na tabela, não é necessário especificar o valor para a coluna de auto-incremento.
  • Não é possível alterar uma coluna existente para configurar IDENTITY.
  • Se necessário, crie uma nova tabela com IDENTITY e exclua a atual.
  • Só é permitido usar uma coluna de identidade por tabela.
Vamos ver um exemplo do uso da identidade criando uma tabela de exemplo chamada tbl_teste_identidade: CREATE TABLE tbl_teste_identidade (ID_Teste SMALLINT PRIMARY KEY IDENTITY(10,2), valor SMALLINT NOT NULL); INSERT INTO tbl_teste_identidade (valor) VALUES (10); INSERT INTO tbl_teste_identidade (valor) VALUES (20); INSERT INTO tbl_teste_identidade (valor) VALUES (30); INSERT INTO tbl_teste_identidade (valor) VALUES (40); SELECT * FROM tbl_teste_identidade;   Verificar o valor atual da Identidade Podemos verificar o valor de identidade mais atual armazenado em uma tabela no banco de dados com o comando a seguir: DBCC CHECKIDENT (‘nome_tabela’, NORESEED) Ex.: DBCC CHECKIDENT (tbl_livros, NORESEED); DBCC CHECKIDENT (tbl_teste_identidade, NORESEED);   Alterar o próximo valor no campo de Identidade Para alterar o valor de identidade do próximo registro a ser armazenado em uma tabela, use o comando a seguir: DBCC CHECKIDENT (nome_tabela, RESEED, valor_semente) Ex.:- Usar o valor 150 a partir do próximo registro: DBCC CHECKIDENT (tbl_teste_identidade, RESEED, 149); Inserindo mais dados e verificando o novo valor de identidade: INSERT INTO tbl_teste_identidade (valor) VALUES (70); INSERT INTO tbl_teste_identidade (valor) VALUES (80); INSERT INTO tbl_teste_identidade (valor) VALUES (90); SELECT * FROM tbl_teste_identidade;
EuSobre Fábio dos Reis Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Linux e Open Source em geral, Astrônomo Hobbysta e estudante de idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo.
Sobre Fábio dos Reis (1096 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Astronomia, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*