MagicBuzz a écrit :
ouh là malheureux, faut pas affirmer des trucs comme ça
tout dépend du système utilisé pour générer les ID : type de données "numauto", séquence, traîtement manuel par trigger, etc.
selon les SGBD, les types de données "numauto" n'existent parfois pas, et parfois bouchent les trous ou non, et pas toujours de façon linéaire (genre il va commencer à boucher les trous une centaine d'insertions après la suppression). bref, y'a AUCUNE règle qui soit absolue, et surtout, ce qui est vrai dans une build particulière du SGBD ne le sera pas forcément dans la suivante. en effet, un numauto est un type 100% géré par le système, et un ID ne doit par définition pas avoir de signification fonctionnelle, donc se soucier de sa valeur n'a pas de sens d'un point de vue analyse.
pour les séquences, y'a pas de bouchage de trous, par contre il y a un pas (l'incrément n'est pas forcément de +1, il peut être de -24 par exemple) et les séquences peuvent boucler (et dans ce cas, ne bouchent pas les trous, elle génèrent des valeurs en repartant de 0 comme la première fois)
le traîtement manuel est donc le seul où tu peux à coup sûr prévoir le comportement, et c'est dans le seul cas qu'il faudra tenter de récupérer la prochaine valeur. ceci dit, c'est suicidaire dans la mesure où si deux personnes utilisent l'application en même temps, elles croiront toutes les deux pouvoir créer le même ID à un instant T, ce qui est faux.
|