Skip to main content

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).

DECLARE li_id INTEGER;

SELECT new_rec.id INTO li_id
FROM (
  INSERT INTO customers ( name, custno ) VALUES ( 'Acme Inc.', 1001 )
) REFERENCING ( FINAL AS new_rec );

RETURN li_id;