Viz tato odpověď Načíst vložené ID řádku v SQL
Stručně řečeno, neexistuje žádný způsob křížové databáze, jak to udělat, kromě MAX(ID) - ale to není zaručený výsledek a má mnoho úskalí, např.
- mezi posledním vložením a maximálním dotazem mohou být další vložky
- nelze použít s tabulkami s vysokými transakcemi (max způsobí zámek čtení, metody specifické pro rdbms nečtou z žádné tabulky)
Standard ANSI, který se týká identity/autonumber/auto_increment/sekvencí, se poprvé objevil v SQL:2003 čeká na implementaci všemi hlavními RDBMS. S největší pravděpodobností bude připomínat sekvence Oracle/PostgreSQL.
Další změnou v SQL:2003 je OUTPUT USING CLAUSE
ale je o tom velmi málo informací. Sybase a SQL Server s tím udělaly různé věci, takže zatím není jasné, jak to dopadne. SQL Server jej implementuje jako
INSERT INTO TBL(..)
OUTPUT inserted.identity_col
INTO @sometablevar
VALUES(..)