Zobacz tę odpowiedź Pobierz wstawiony identyfikator wiersza w SQL
Krótko mówiąc, nie ma na to sposobu między bazami danych, z wyjątkiem MAX(ID) - ale nie jest to gwarantowany wynik i ma wiele pułapek, np.
- inne wstawki mogą znajdować się między ostatnim wstawieniem a maksymalnym zapytaniem
- nie może być używany z wysokimi tabelami transakcji (max uruchomi blokadę odczytu, metody specyficzne dla rdbms nie odczytują z żadnej tabeli)
Standard ANSI odnoszący się do tożsamości/autonumber/auto_increment/sequences po raz pierwszy pojawił się w SQL:2003 oczekuje na wdrożenie przez wszystkie główne RDBMS. Najprawdopodobniej będzie przypominać sekwencje Oracle/PostgreSQL.
Kolejną zmianą w SQL:2003 jest OUTPUT USING CLAUSE
ale jest bardzo mało informacji na ten temat. Sybase i SQL Server zrobiły z nim różne rzeczy, więc nie jest jeszcze jasne, jak to się potoczy. SQL Server implementuje go jako
INSERT INTO TBL(..)
OUTPUT inserted.identity_col
INTO @sometablevar
VALUES(..)