Générer un indice

atmeitsatme Messages postés 58 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 15 novembre 2006 - 17 mars 2006 à 21:43
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 - 21 mars 2006 à 09:40
Bonjour,

J'ais une table qui possède un champ indice qui est une clé primaire.
Cette clé est juste une donnée qui permet de ne pas avoir de doublons.
Je cherche un technique pour générer cette clé, sachant que je ne peut pas incrémenter tout le temps, puisque des données pourront être supprimées par la suite, et l'indice devra donc combler les trous.

Ex :
J'ais 5 enregistrements, les indice vont de 1 à 5.
Je supprime les enregistrement qui ont l'indice 3 et 4.
Je souhaite donc que les deux prochains enregistrements prennent les indices 3 et 4, puis ont continue à partir du dernier, c'est à dire 6 pour le troisième.

Y a t il une technique simple pour réaliser ceci ?

1 réponse

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
21 mars 2006 à 09:40
Bonjour,

/*
Recherche des trous dans les index
Pour le premier, on fait soit un TOP 1, soit un MIN
*/

SELECT (id-1) FROM Clients
WHERE (id-1)
NOT IN (
SELECT id
FROM Clients
)
AND (id-1)>0
0
Rejoignez-nous