sql >> Database >  >> RDS >> Sqlserver

Een bigint-kolom automatisch verhogen?

Kun je het niet gewoon declareren als een IDENTITEIT-kolom:

[ID] [bigint] IDENTITEIT(1,1) NIET NULL;

De 1,1 verwijst naar de startindex en het bedrag waarmee deze wordt verhoogd.

OPMERKING:u hoeft geen waarde op te geven voor de ID-kolom wanneer u een invoeging uitvoert. Het zal het automatisch kiezen. U kunt deze waarden indien nodig later wijzigen.

EDIT:

Als alternatief, u kunt een opgeslagen procedure gebruiken om alle invoegingen te verwerken.

Voorbeeld:
Opgeslagen procedure zal variabelen opnemen zoals je zou doen met een normale invoeging (één variabele voor elke kolom). De logica binnen de opgeslagen procedure kan de maximale waarde selecteren die momenteel in de tabel bestaat en die als maximale waarde kiezen.

DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable

Gebruik @yourVariable als uw invoegwaarde. U kunt het verhogen of de waarde wijzigen indien nodig.



  1. Hoe bereken ik een lopend totaal in SQL zonder een cursor te gebruiken?

  2. Een bestand opslaan in de SQL Server 2008-database met Entity Framework

  3. classNotFoundException bij laden van JDBC-stuurprogramma

  4. Foutcode 1064, SQL-status 42000:je hebt een fout in je SQL-syntaxis;