Ich muss ja gestehen ich bin kein Fan von Funktionen wie LAST_INSERT_ID().
Dabei ist es egal welche Datenbank das ist.
Folgende Frage sollte man sich stellen:
Was passiert wenn mehrere Datensätze eingefügt werden? Denn INSERT aus eine SELECT kann es.
Was passiert wenn ein INSERT Trigger auslöst wird, welcher einen weiteren Datensatz in eine andere Tabelle einträgt. Welche ID bekommt man dann zurück?
Daher verfolge ich immer strikt den Ansatz (beim
MSSQL) das ich die OUTPUT Option bei INSERT nutze. Das liefert mir dann ein RESULTSET zurück, was wirklich in meiner Tabelle angelegt wurde und dessen IDs.