@@identity
funkcja zwraca ostatnią tożsamość utworzoną w tej samej sesji.scope_identity()
funkcja zwraca ostatnią tożsamość utworzoną w tej samej sesji i w tym samym zakresie.ident_current(name)
zwraca ostatnią tożsamość utworzoną dla określonej tabeli lub widoku w dowolnej sesji.identity()
funkcja nie jest używana do uzyskania tożsamości, służy do tworzenia tożsamości wselect...into
zapytanie.
Sesja to połączenie z bazą danych. Zakresem jest bieżące zapytanie lub bieżąca procedura składowana.
Sytuacja, w której scope_identity()
i @@identity
funkcje różnią się, jeśli masz wyzwalacz na stole. Jeśli masz zapytanie, które wstawia rekord, powodując, że wyzwalacz wstawia gdzieś inny rekord, scope_identity()
funkcja zwróci tożsamość utworzoną przez zapytanie, natomiast @@identity
funkcja zwróci tożsamość utworzoną przez wyzwalacz.
Więc normalnie użyjesz scope_identity()
funkcja.