Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment réutiliser les espaces de séquence Oracle dans la colonne de clé primaire ?

Voulez-vous dire, la séquence renverra-t-elle jamais une valeur qui se trouve dans une plage "d'écart" ? Je ne pense pas, sauf si vous le supprimez/le recréez pour une raison quelconque. Je suppose que vous pourriez écrire une fonction quelconque pour trouver les écarts PK dans votre table, puis enregistrer ces plages d'écarts dans une autre table et "rouler" votre propre fonction de séquence à l'aide de la table des écarts. Très laid. Essayer de "récupérer" ces lacunes ressemble à une tentative désespérée d'éviter l'inévitable - votre type de données Java PK devrait être aligné sur le type de données DB. J'ai eu le même problème il y a longtemps avec une application VB qui avait une clé de classe définie comme un entier 16 bits, et la séquence dépassait 32K, j'ai dû changer les variables en Long. Je dis, mordez la balle et faites la conversion. Un peu de douleur maintenant vous évitera beaucoup de douleur continue plus tard. Ce n'est que mon avis.