maj sql as400

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : maj sql as400

par Hubert Roksor » 11 mars 2006, 12:45

Donc tu bosses sur un AS/400 et ta base n'est pas normalisée, intéressant.

Je t'expliquerais bien qu'un numéro de client n'est pas sensé être modifiable, que cela viole la loi de Codd 412-b alinéa 13 et que la réponse se trouve dans le manuel MySQL à la page 53, mais j'ai le sentiment que ça ne t'intéresserais pas. Si toutefois ce n'était pas le cas, n'hésite pas à le dire, on essaiera de te trouver quelques liens.

Donc pour en revenir à ton problème, que souhaites-tu réellement faire ? Tu pourrais utiliser INSTR() pour insérer 999 dans n'importe quelle chaîne, mais quelque chose me dit que tous les "nocli" ne commencent pas par "Paris" n'est-ce pas ? Auquel cas, je doute même que cela soit réalisable avec une simple requête. N'oublie pas de préciser ta version de MySQL.

maj sql as400

par xxxx » 11 mars 2006, 11:28

bonjour
je souhaite faire une MAJ d'une partie d'une zone par SQL
qq'un aurait 'il une solution rapide ..moi je suis partie dans une requete complexe

j'ai un fichier client, une zone numero de client d'une longueur de 20 char
je voudrai modifier 3 cararcteres au milieu

Ex : nom fichier : Client
nom zone : Nocli = 'Paris001xxxxxxxxxxxx'

Je voudrais modifier 001 par 999

J'ai essaye l'instuction suivante
update client set '999' substr(nocli, 6,3) where substr(nocli, 6,3)

mais je me retrouve avec juste '999' en resultat

merci de votre aide
[email protected]