Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Incrementar automaticamente uma coluna bigint?


Você não pode simplesmente declará-lo como uma coluna IDENTITY:

[ID] [bigint] IDENTITY(1,1) NOT NULL;

O 1,1 refere-se ao índice inicial e ao valor pelo qual está sendo incrementado.

NOTA:Não é necessário fornecer um valor para a coluna ID ao fazer uma inserção. Ele irá escolhê-lo automaticamente. Você pode modificar esses valores posteriormente, se necessário.

EDITAR:

Alternativamente, você pode usar um procedimento armazenado para manipular todas as inserções.

Exemplo:
O Stored Procedure receberá variáveis ​​como você faria com uma inserção normal (uma variável para cada coluna). A lógica dentro do procedimento armazenado pode selecionar o valor máximo atualmente existente na tabela e escolhê-lo como seu valor máximo.
DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

Use @yourVariable como seu valor de inserção. Você pode incrementá-lo ou alterar o valor conforme necessário.