Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Bigint-Spalte automatisch erhöhen?

Können Sie es nicht einfach als IDENTITY-Spalte deklarieren:

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

Die 1,1 bezieht sich auf den Startindex und den Betrag, um den er erhöht wird.

HINWEIS:Sie müssen beim Einfügen keinen Wert für die ID-Spalte angeben. Es wird automatisch ausgewählt. Sie können diese Werte später bei Bedarf ändern.

BEARBEITEN:

Alternativ Sie können eine gespeicherte Prozedur verwenden, um alle Einfügungen zu handhaben.

Beispiel:
Die gespeicherte Prozedur nimmt Variablen wie eine normale Einfügung auf (eine Variable für jede Spalte). Die Logik innerhalb der gespeicherten Prozedur kann den derzeit in der Tabelle vorhandenen Maximalwert auswählen und diesen als Maximalwert auswählen.

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

Verwenden Sie @yourVariable als Einfügewert. Sie können ihn erhöhen oder den Wert nach Bedarf ändern.