Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Znajdź ostatnio wstawiony rekord MS SQL SERVER

Zgodnie z prośbą o komentarz tutaj szybkie i brudne rozwiązanie ręczne, zakładając, że masz listę INSERT oświadczenia (lub odpowiednie dane) w tej samej kolejności, co wystawiony INSERT s. W tym przykładzie zakładam 1 milion rekordów.

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

Musisz tylko znaleźć ostatni PK, który został wstawiony. Na szczęście w tym przypadku jest jeden. Więc zaczynasz robić ręczne wyszukiwanie binarne w tabeli wydającej

SELECT pk FROM myTable WHERE pk = 500000

Jeśli otrzymasz wiersz z powrotem, wiesz, że zaszło tak daleko. Kontynuuj sprawdzanie za pomocą pk = 750000 . Z drugiej strony, jeśli jest tam z pk = 875000 . Jeśli 750000 nie ma, to INSERT Musiało się zatrzymać wcześniej. Następnie sprawdź pk = 675000 . Ten proces zatrzymuje się w tym przypadku po 20 krokach.

To po prostu ręczny dziel i rządź.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać lokalizację obrazu w bazie danych SQL Server?

  2. SQL:Wybierz najnowszą wartość sekwencyjnie odmienną z grupowaniem

  3. Odpowiedni indeks serwera SQL do wstawiania samego schematu

  4. Zgrupowana konkatenacja w SQL Server

  5. Tworzenie kolumny wyliczanej w SQL Server 2008