Insert-Statement mit ID-Rückgabe
Es soll ein Datensatz angelegt werden und gleichzeitig die von der Datenbank vergebene ID des neuen Datensatzes zurückgegeben werden, ohne diese Tabelle abzufragen (und ohne Krücke wie @@IDENTITY).
SELECT new_rec.id
FROM (
INSERT INTO your_table_name ( description )
VALUES ( 'new record' )
) REFERENCING ( FINAL AS new_rec );
Diese elegante Lösung nutzt die REFERENCING Klausel von SQL Anywhere, um direkt auf die eingefügten Daten zugreifen zu können. Das FINAL-Schlüsselwort gibt dabei die endgültigen Werte nach dem Insert zurück, inklusive aller automatisch generierten IDs.