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

Trova l'ultimo record inserito MS SQL SERVER

Come da richiesta di commento qui una soluzione manuale rapida e sporca, supponendo che tu abbia l'elenco di INSERT dichiarazioni (o i dati corrispondenti) nella stessa sequenza del INSERT emesso S. Per questo esempio presumo 1 milione di record.

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

Devi solo trovare l'ultimo PK, che è stato inserito. Per fortuna in questo caso ce n'è uno. Quindi inizi a fare una ricerca binaria manuale nella tabella di emissione

SELECT pk FROM myTable WHERE pk = 500000

Se torni indietro, sai che è arrivato così lontano. Continua a controllare con pk = 750000 . Poi di nuovo, se è presente con pk = 875000 . Se 750000 non è presente, allora INSERT s deve essersi fermato prima. Quindi controlla pk = 675000 . Questo processo si interrompe in questo caso dopo 20 passaggi.

È solo un semplice divide et impera manuale.