Como usar o SQL Server Identity Insert

Como usar o SQL Server Identity Insert

Uma coluna de identidade no SQL Server refere-se a uma coluna que gera automaticamente um valor numérico exclusivo para cada registro inserido. Uma coluna de identidade é muito útil como chave primária, pois cada valor é único para cada linha.

Neste guia, entenderemos como usar a propriedade de identidade no servidor SQL e como podemos inserir manualmente valores em uma coluna de identidade.

Identidade do SQL Server

A propriedade de identidade em uma coluna é determinada pelo valor inicial da semente e pelo número inteiro de incremento. A sintaxe é como mostrado:

identidade (semente, incremento);

  1. O parâmetro de semente define o valor do primeiro registro inserido na tabela.
  2. O incremento determina pelo que o valor da linha anterior é adicionado.

Se os parâmetros de semente e incremento não estiverem definidos, o SQL Server padronizará os valores de 1, 1, respectivamente.

O exemplo das declarações de consulta ilustra como usar a propriedade SQL Server Identity:

CreatedAtABASETEMPORARY_DB;
useTemporary_db;
createTablessample_table (
IdintnotNullIdentity (1,1) Chave primária,
NameVarchar (50),
);
InsertIntosample_table (nome)
valores ('Abigail Henderson'),
('Peter Miller'),
('Harris Gonzales'),
('Anne Jenkins'),
('Katherine Patterson');
Selecione * FromSample_table;

Devemos ter uma tabela como mostrado:

Observe que a coluna de identificação começa com um valor de 1 e incrementa a próxima linha por 1, conforme definido pela propriedade de identidade.

SQL Server Indentity_insert

Embora a propriedade de identidade seja usada para definir um recurso de generado automático, você pode editar manualmente o valor de uma coluna de identidade.

É aqui que o comando identity_insert entra em jogo.

SQL Server Ativar identity_insert

Por padrão, o SQL Server impedirá que você edite manualmente os valores de uma coluna de identidade. Para usá -lo, você precisa habilitá -lo na sua tabela de destino.

Por exemplo, se você tentar editar manualmente os valores na coluna ID da tabela de amostra acima, receberá um erro como mostrado:

InsertIntosample_table (id) valores (7);

Use a seguinte sintaxe de comando para ativar ou desativar o recurso Identity_insert:

setentity_inserttable_nameon/off;

Por exemplo, para ativar o identity_insert para o sample_table criado acima, podemos fazer:

setentity_insertsample_tableon;

Uma vez ativado, você pode inserir valores na coluna de identidade:

InsertIntosample_table (id) valores (7);
[/c] C
A consulta deve retornar o sucesso:
[cc width = "100%" altura = "100%" escapou = "true" tema = "Blackboard" Nowrap = "0"]
(1 linha afetada)

DICA: Você só pode definir identity_insert em uma única tabela por sessão. Se você tentar ativar a inserção de identidade em outra tabela na mesma sessão, o servidor SQL retornará um erro como mostrado:

Conclusão

A propriedade de identidade do SQL Server permite definir uma coluna que gera automaticamente os valores numéricos com base nos valores de semente e incremento. No entanto, conforme discutido neste tutorial, você pode usar o recurso de inserção de identidade para editar manualmente os valores de uma coluna de identidade. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e informações.