D'INSERTION, et d'obtenir l'auto-incrémenté de la valeur

Considérons le tableau suivant:

create table language (
    id integer generated always as identity (START WITH 1, INCREMENT BY 1),
    name long varchar,
    constraint language_pk primary key (id)
);

À qui je voudrais insérer une entrée de cette façon.

insert into language(name) values ('value');

Comment on sait quelle valeur pour id a été créé? Juste faire une sélection à l'aide du name champ n'est pas valide, car il peut y avoir des doublons.

Dans Firebird je sais que vous pouvez utiliser Returning ID pour l'avoir, d'insertion et de retour à la nouvelle valeur pour une colonne. Les autres devraient avoir quelque chose de similaire, bien que je ne suis pas familier personnellement avec Derby.
J'utilise Derby/Java DB comme décrit dans les tags
stackoverflow.com/questions/3131064/... stackoverflow.com/questions/5576152/... stackoverflow.com/questions/6353343/getting-last-inserted-id stackoverflow.com/questions/590927/get-new-sql-record-id Voter pour la fermer.
Aucune de ces réponses semblent résoudre ce problème spécifique.

OriginalL'auteur vemv | 2011-07-22