|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Céline Inscription : février 2011 Messages : 14 ![]() |
Bonjour,
Je travaille sur Oracle SVP developper. J'ai une base de données de voirie où je souhaite remplacer des mots dans le libellé de la voie (champs : libelle_voie). Par exemple : RUE DU QUINZIEME CORPS. Je voudrais remplacer QUINZIEME par 15EME. Code :
Mais quand je vérifie avec SELECT, les parties de chaines que je souhaite remplacer n'ont pas changées. Pouvez-vous m'aider SVP ? J'espère avoir été assez clair. Merci |
||
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Cyrille Administrateur de base de données Inscription : avril 2005 Messages : 112 ![]() |
Oui il t'as mis à jour toutes tes lignes avec la valeur par défaut car il n'a pas trouvé les chaines de caractère que tu as mis dans les champs de recherche. Y a t il des espaces dans tes champs car tu met ' QUINZIEME ' et oracle est sensible à la casse. Si la valeur dans la colonne n'est pas exactement comme tu l'as écrit, ca ne mettra pas à jour (mais mettre les autres lignes .
Est ce que toutes les valeurs sont en majuscule ou bien ca peut etre aussi en minuscule? j'ai modifié ta requête pour enlever les espaces et tout mettre en majuscules pour être sur que tout sois pris en compte. Code :
|
||
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Céline Inscription : février 2011 Messages : 14 ![]() |
Merci pour la rapidité.
Alors effectivement j'ai mis les espaces car j'ai aussi des chaines à remplacer en fin de chaine. Tous mes libellés sont en Majuscules. par exemple : AVENUE DES ANC COMBATTANTS D AFN Je souhaite remplacer ' ANC ' par ' ANCIENS et ' AFN' par ' AFRIQUE DU NORD' espace avant et après ANC. espace avant AFN. voici mon code Code :
Si je comprends bien, il faut aussi que je vérifie que tous les espaces de mes valeurs de départ (ici ' ANC ') se retrouvent dans mes valeurs d'arrivée (ici, ' ANCIENS '). |
||
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : mars 2007 Messages : 59 ![]() |
La fonction REPLACE serait plus approprié dans ton cas.
|
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Si c'est pour remplacer un bout, il faut utiliser replace.
Ensuite pour ne modifier que les lignes souhaitées, une clause where est nécessaire : Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Céline Inscription : février 2011 Messages : 14 ![]() |
C'est la question que je me posais !!
ma liste compte 76 éléments !!! Si je ne me trompe pas, cela me fera 76 replace à écrire ?!?!?!? en gros mon script ressemblerai donc à ça ??? Code :
il n'existe pas une autre alternative ??? Merci |
||
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Cyrille Administrateur de base de données Inscription : avril 2005 Messages : 112 ![]() |
voila, j'ai pas bien lu le truc donc j'ai répondu un peut à côté...
|
|
00
|
|
|
#8 | |||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Citation:
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
|||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Céline Inscription : février 2011 Messages : 14 ![]() |
OK. merci
je vais tester |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Céline Inscription : février 2011 Messages : 14 ![]() |
re merci tout fonctionne
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com