|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() bibliothécaire Inscription : septembre 2012 Messages : 27 ![]() |
Bonjour.
Dans ma table empr la colonne empr_cb est de type vachar(255) et contient les numéros de codes barres des lecteurs de notre bibliothèque. La numérotation va de 003 à 532 alors que nous n'avons que 80 lecteurs. Nous en avons "supprimé" pas mal. J'aimerais renuméroter tout ça à partir de 001 et que 1 soit ajouté à chaque nouvelle ligne jusqu'au dernier lecteur. Merci de votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 804 ![]() |
salut,
si on code est purement numérique (code bar) tu devrais avoir une colonne numérique... je sais que certains adorent brandir la sémantique d'un code sur lequel on ne fait à priori pas de calcul (c'est pas toujours vrai) pour justifier qu'un code doit être du texte (varchar ou varbinary) mais moi je dis qu'il faut être plus pragmatique quand une valeur est purement numérique autan la stocker au format numérique:
ensuite tu utilises une table temporaire dans la quel tu stockes les identifiants de tes lecteurs ordonnés de manière croissante et tu récupère la colonne auto incrémentée équivalente pour la stocker à la place de la valeur originale dans toutes les tables concernées si tu veux rester en colonne texte tu peux utiliser les fonctions de traitements sur les chaines pour engendre une conversion implicite genre lpad (pour combler une valeur par la gauche avec des caractères)
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() bibliothécaire Inscription : septembre 2012 Messages : 27 ![]() |
Bonjour.
Cette base de données est celle du logiciel de gestion de bibliothèque PMB. Par défaut la colonne empr_cb est en VACHAR. Je n'envisage donc pas de changer son type. Je ne rentre pas dans le détail mais cela présente des avantages pratiques lors, par exemple, de l'exportation dans un tableur pour l'édition de listes ou de cartes lecteurs. Au demeurant modifier 80 lignes à la main me prendrait sûrement moins de temps que d'écrire une requête mais c'est moins intéressant. Est-ce que je peux conclure que si je reste en VACHAR je ne peux pas faire ce que je voulais ? |
|
|
00
|
|
|
#4 | ||||||||
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 804 ![]() |
je t'ai dit que tu peux le faire aussi
l'idée est de créer une table temporaire en mémoire: Code sql :
ensuite tu listes tes valeurs dedans: Code sql :
tu as plus qu'à faire autan d'update que tu as de tables (des copies, on sait jamais) à modifier Code sql :
une autre approche pour modifier la copie, dont tu as créé la structure juste avant, directement: Code sql :
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
||||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com