Bonjour,
J'ai un petit souci avec mon code.
J'ai un code qui doit effectuer un INSERT dans une base de donnée Oracle puis me retourner l'ID de la clé primaire généré.
L'ID de la clé primaire est générée automatiquement coté server avec un trigger et une séquence.
j'avé utilisé ce code pour faire la mème chose sur une BDD MySQL :
1 2 3 4 5 6 7 8
|
mon_statement.executeUpdate(Requete, Statement.RETURN_GENERATED_KEYS); // Execution de la requète avec recupération de l'ID de la demande
ResultSet clefs = mon_statement.getGeneratedKeys();
// Récupération de l'ID autogénéré de la demande d'intervention
if(clefs.next()){
myDemande.setIdDemande(clefs.getString(1));
} |
Cépendant pour le passage à Oracle elle ne fonctionne plus :
j'ai un message d'erreur : "Fonction non prise en charge a la ligne mon_statement.executeUpdate(Requete, Statement.RETURN_GENERATED_KEYS);
Apres test si je change tout le code en ne métant que ca tous fonctionne :
mon_statement.executeUpdate(Requete);
Visiblement c'est Statement.RETURN_GENERATED_KEYS qui pose problème.
Comment retourner l'id auto généré apres un INSERT sur une base de donnée Oracle ?
Sachant que j'arrive bien a me connecter a la base de données et à exécuter des requêtes sans problèmes. J'utilise Oracle 9i et le driver JDBC associé.
Merci beaucoup
Partager