sql >> Database >  >> RDS >> Sqlserver

Zoek laatst ingevoegde record MS SQL SERVER

Per commentaarverzoek hier een snelle en vuile handmatige oplossing, ervan uitgaande dat je de lijst met INSERT hebt verklaringen (of de bijbehorende gegevens) in dezelfde volgorde als de uitgegeven INSERT s. Voor dit voorbeeld ga ik uit van 1 miljoen records.

INSERT ... VALUES (1, ...)
...
INSERT ... VALUES (250000, ...)
...
INSERT ... VALUES (500000, ...)
...
INSERT ... VALUES (750000, ...)
...
INSERT ... VALUES (1000000, ...)

Je hoeft alleen maar de laatste PK te vinden, die is ingevoegd. Gelukkig is er in dit geval een. Dus je begint met een handmatige binaire zoekopdracht in de tabel die uitgeeft

SELECT pk FROM myTable WHERE pk = 500000

Als je een ruzie terugkrijgt, weet je dat het zo ver is gekomen. Ga verder met controleren met pk = 750000 . Aan de andere kant, als het er is met pk = 875000 . Als 750000 er niet is, dan is de INSERT s moet eerder zijn gestopt. Controleer vervolgens op pk = 675000 . Dit proces stopt in dit geval na 20 stappen.

Het is gewoon handmatig verdeel en heers.



  1. Begrijp de rol van data-architecten in datagovernance

  2. mySQL-tabel ERROR 1064

  3. Cyrillisch, AJAX en database

  4. SQLite-opdrachten