sql >> Databasteknik >  >> RDS >> Oracle

Oracle-sekvens men då i MS SQL Server

Det finns ingen exakt matchning.

Motsvarigheten är IDENTITY som du kan ställa in som en datatyp när du skapar en tabell. SQLSERVER kommer automatiskt att skapa ett löpande sekvensnummer under infogningen. Det senast infogade värdet kan erhållas genom att anropa SCOPE_IDENTITY() eller genom att konsultera systemvariabeln @@IDENTITY (som påpekats av Frans)

Om du behöver den exakta motsvarigheten måste du skapa en tabell och sedan skriva en procedur för att återställa nästa värde och andra operationer. Se Marks svar om fallgropar på detta.

Edit:
SQL Server har implementerat sekvensen som liknar Oracle. Se den här frågan för mer information.

Hur skulle du implementera sekvenser i Microsoft SQL Server?



  1. SQL Server-index - stigande eller fallande, vilken skillnad gör det?

  2. Byta namn på index med sp_rename Procedur

  3. Inte alla parametrar användes i SQL-satsen (Python, MySQL)

  4. Returnera kolumninformation för en lagrad procedur i SQL Server:sp_sproc_columns