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.