Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Incrémenter automatiquement une colonne bigint ?

Ne pouvez-vous pas simplement le déclarer en tant que colonne IDENTITY :

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

Le 1,1 fait référence à l'index de départ et au montant dont il est incrémenté.

REMARQUE :Vous n'avez pas à fournir de valeur pour la colonne ID lorsque vous effectuez une insertion. Il le choisira automatiquement. Vous pouvez modifier ces valeurs ultérieurement si nécessaire.

MODIFIER :

Sinon, vous pouvez utiliser une procédure stockée pour gérer toutes les insertions.

Exemple :
La procédure stockée prendra des variables comme vous le feriez pour une insertion normale (une variable pour chaque colonne). La logique de la procédure stockée peut sélectionner la valeur maximale existant actuellement dans la table et la choisir comme valeur maximale.

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

Utilisez @votreVariable comme valeur d'insertion. Vous pouvez l'incrémenter ou modifier la valeur si nécessaire.