J'ai une table (dans ORADB) contenant deux colonnes: clé unique VARCHAR et clé unique NUMBER générée à partir d'une séquence.insertion de données de dictionnaire ou sélection (oracle, java)
J'ai besoin de mon code Java pour ajouter constamment (et en parallèle) des enregistrements à cette colonne chaque fois qu'une nouvelle clé VARCHAR est obtenue, en retournant la nouvelle clé NUMBER générée. Ou retourne la clé NUMBER existante quand elle obtient une VARCHAR existante (elle ne l'insère pas alors, ce qui jetterait une exception bien sûr en raison de la violation de clé uniq).
Cette procédure serait exécutée à partir de nombreux clients (Java) travaillant en parallèle.
espère que mon anglais est compréhensible :)
Quel est le meilleur (peut-être en utilisant PL/SQL au lieu de code Java ...) façon de le faire?
Et que pensez-vous d'essayer d'INSÉRER le nouvel enregistrement d'abord, et de faire SELECT à chaque fois qu'une exception a été levée avant? – Chris
Cela dépend de quel cas vous pensez est plus fréquent. J'ai supposé que vous récupéreriez des mots existants plus souvent que d'ajouter maintenant ceux. Si vous en ajoutez principalement de nouveaux, alors oui, essayez d'abord l'INSERT. – Thilo