bonjour,
J'ai une table normal avec un champ ID. Certain id ne se suive pas, par exemple :
1
2
3
5
8
9
J'aimerai un pti truc pour compléter cette liste lors d'une insertion, par exemple le prochain aura l'ID 4 au lieu de 10.
Merci
bonjour,
J'ai une table normal avec un champ ID. Certain id ne se suive pas, par exemple :
1
2
3
5
8
9
J'aimerai un pti truc pour compléter cette liste lors d'une insertion, par exemple le prochain aura l'ID 4 au lieu de 10.
Merci
La premiere chose qui me vient a l'esprit est : pourquoi ? quel est le besoin de faire cela ?
Un ID est generalement un identifiant unique, et on n'a que faire de la valeur, tant qu'elle est unique.
De plus, si faire ce que tu veux peut eventuellement avoir un sens pour a rapport, c'est dangereux dans un environement multi-utilisateurs...
Nicolas.
Je doit juste faire un script pour mettre à jour une table dans une base de données et je doit compléter les ID manquant, et c'est comme ça lol.
Ya-t-il une solution svp?
1. lock la table
2. loop de 1 a max(id) pris de la table
3. si l'occurence (dans la boucle) n'existe pas dans la table, fais l'insert
4. commit et libere la table du lock
Nicolas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Select min(N.rang) from ( Select rownum rang, M.id from ( Select Id from T1 order by id ) M ) N Where N.rang != N.id
Signé : Capitaine Jean-Luc Picard
Ok, merci, j'avais pensé un peu à cette idée, mais je pensais qu'il existait un truc tout fait dans oracle un peu comme un nextval.
Une sequence Oracle n'a jamais empeche des trous...
nicolas.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager