Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Incrementare automaticamente una colonna bigint?

Non puoi semplicemente dichiararlo come una colonna IDENTITY:

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

L'1,1 si riferisce all'indice di partenza e all'importo di cui viene incrementato.

NOTA:non è necessario fornire un valore per la colonna ID quando si esegue un inserimento. Lo sceglierà automaticamente. È possibile modificare questi valori in un secondo momento, se necessario.

EDIT:

In alternativa, puoi usare una procedura memorizzata per gestire tutti gli inserimenti.

Esempio:
Stored Procedure accetterà le variabili come faresti con un normale inserimento (una variabile per ogni colonna). La logica all'interno della procedura memorizzata può selezionare il valore massimo attualmente esistente nella tabella e sceglierlo come valore massimo.

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

Usa @yourVariable come valore di inserimento. Puoi incrementarlo o modificare il valore secondo necessità.