Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Localizar último registro inserido MS SQL SERVER


De acordo com o comentário, solicite aqui uma solução manual rápida e suja, supondo que você tenha a lista de INSERT instruções (ou os dados correspondentes) na mesma sequência que o INSERT emitido s. Para este exemplo, assumo 1 milhão de registros.
INSERT ... VALUES (1, ...)
...
INSERT ... VALUES (250000, ...)
...
INSERT ... VALUES (500000, ...)
...
INSERT ... VALUES (750000, ...)
...
INSERT ... VALUES (1000000, ...)

Você só precisa encontrar o último PK que foi inserido. Felizmente, neste caso, há um. Então você começa a fazer uma busca binária manual na tabela emitindo
SELECT pk FROM myTable WHERE pk = 500000

Se você conseguir uma linha de volta, você sabe que chegou tão longe. Continue verificando com pk = 750000 . Então, novamente, se estiver lá com pk = 875000 . Se 750000 não estiver lá, então o INSERT s deve ter parado antes. Em seguida, verifique se há pk = 675000 . Este processo pára neste caso após 20 passos.

É simplesmente dividir e conquistar manualmente.