sql >> Database >  >> RDS >> Oracle

Oracle-reeks maar dan in MS SQL Server

Er is geen exacte overeenkomst.

Het equivalent is IDENTITY die u als gegevenstype kunt instellen tijdens het maken van een tabel. SQLSERVER maakt automatisch een doorlopend volgnummer aan tijdens het invoegen. De laatst ingevoegde waarde kan worden verkregen door SCOPE_IDENTITY() aan te roepen of door de systeemvariabele @@IDENTITY te raadplegen (zoals aangegeven door Frans)

Als u het exacte equivalent nodig heeft, moet u een tabel maken en vervolgens een procedure schrijven om de volgende waarde en andere bewerkingen opnieuw af te stemmen. Zie Marks reactie op valkuilen hierin.

Bewerken:
SQL Server heeft de Sequence geïmplementeerd die vergelijkbaar is met Oracle. Raadpleeg deze vraag voor meer details.

Hoe zou u reeksen in Microsoft SQL Server implementeren?



  1. Hoe stel ik ORDER BY-params in met behulp van een voorbereid PDO-statement?

  2. Hoe maak je een Oracle-reeks die begint met de maximale waarde uit een tabel?

  3. Vraag meerdere NEXTVAL uit een reeks in één instructie

  4. SQL Server String-functies (volledige lijst)