Bonjour,
Je dispose de la 10g de Oracle XE. J'ai créé une table avec une clé primaire, que je veux remplir avec des données. Je ne sais pas si je vais recevoir ces données en doublons!! Toujours est-il que je ne veux pas de doublons dans ma table:
- Soit à la reception d'un doublon, je l'ignore
- Soit je l'écrase dans la table
J'utilise un preparedStatement dont je remplis le batch jusqu'à un certain point (par exemple si j'ai reçu 50 enregistrements, je les enregistre dans la table de façon atomique).
Le problème c'est que parmi ces 50 enregistrements, lorsqu'il y a des doublons deja dans la table, jdbc se fache et lève une exception de type BatchedException d'id ORA-00001 dûe à la violation de contrainte unique.
Ce qui fait qu'aucun de mes 50 enregistrement n'est enregistré, puisque j'utilise ma connexion en setAutoCommit(false).
J'aimerais savoir s'il existe une astuce comme avec MySQL qui permet d'ignorer l'insertion des doublons (Avec mySQl c'est INSERT IGNORE INTO TABLE ...).
Je vous en remercie.
Partager