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

Adicionando max(value)+1 na nova linha, isso pode ser um problema?


Por que você usaria uma Identity rolada de forma personalizada campo quando já existe um tão grande no SQL Server?

Basta usar INT Identity (1,1) para o seu campo de ID e ele será incrementado automaticamente cada vez que uma linha for inserida. Ele também lida com a simultaneidade muito melhor do que praticamente qualquer coisa que você possa implementar manualmente.

EDITAR:

Amostra de um valor de ID manual:
SET IDENTITY_INSERT MyTable ON

INSERT INTO MyTable (IdField, Col1, Col2, Col3,...)
VALUES
(1234, 'Col1', 'Col2', 'Col3',...)

SET IDENTITY_INSERT MyTable OFF

Você precisa incluir uma lista de campos explícita para o INSERT .