J'utilise la table avec un compteur pour assurer des identifiants uniques sur un élément enfant. Je sais qu'il est généralement préférable d'utiliser une séquence, mais je ne peux pas l'utiliser parce que j'ai beaucoup de compteurs (un client peut créer un couple de seaux et chacun d'eux doit avoir son propre compteur, ils doivent commencer par 1 (c'est une exigence, mon client a besoin de clés « lisibles par l'homme »).Oracle (PL/SQL): UPDATE RETOUR est-il simultané?
Je crée des documents (Appelons les articles) qui ont un prikey (bucket_id, num = contre).
Je dois garantir que la combinaison bucket_id/num est unique (donc utiliser une séquence comme prikey ne résoudra pas mon problème)
La création de ro ws ne se produit pas en pl/sql, donc je dois réclamer le nombre (btw: ce n'est pas contre les exigences d'avoir des lacunes).
Ma solution a été:
UPDATE bucket
SET counter = counter + 1
WHERE id = param_id
RETURNING counter INTO num_forprikey;
retours PL/SQL var_num_forprikey de sorte que le dossier de l'article peut être créé.
Question:
Est-ce que je toujours obtenir num_forprikey unique, même si l'utilisateur demande en même temps de nouveaux éléments dans un seau?
Je pense, mais je ne trouve pas la documentation à ce sujet !! – Jaap