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

Automatisk forøgelse af en bigint-kolonne?

Kan du ikke bare erklære det som en IDENTITY-kolonne:

[ID] [bigint] IDENTITET(1,1) IKKE NULL;

1,1 refererer til startindekset og det beløb, det øges med.

BEMÆRK:Du behøver ikke angive en værdi for ID-kolonnen, når du laver en indsættelse. Det vil automatisk vælge det. Du kan ændre disse værdier senere, hvis det er nødvendigt.

EDIT:

Alternativt du kan bruge en lagret procedure til at håndtere alle indlæg.

Eksempel:
Lagret procedure vil tage variabler ind, som du ville have en normal indsættelse (én variabel for hver kolonne). Logikken i den lagrede procedure kan vælge den maksimale værdi, der aktuelt findes i tabellen, og vælge den som dens maksimale værdi.

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

Brug @yourVariable som din indsættelsesværdi. Du kan øge den eller ændre værdien efter behov.



  1. Dynamisk opdateringsforespørgsel i procedure

  2. Typen eller navnerummets navn 'MySqlConnection' kunne ikke findes (mangler du et brugerdirektiv eller en samlingsreference?)

  3. Kan ikke initialisere datakildeobjektet for OLE DB-udbyderen MSDASQL for linket server (null)

  4. Kom godt i gang med GearHost til SQL Server-databaseudvikling