|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 74 ![]() |
Je souhaite mettre à jour un champs d'une table en utilisant la première partie des valeurs d'un autre champs de la même table. Les parties de ce deuxième champs sont espacés par un <espace>
Aussi, j'ai testé la requête suivante: UPDATE NOM_TABLE SET CHAMPS1 = SUBSTRING (CHAMPS2, 1, Position (' ' IN CHAMPS2)) Or MySql me retourne une erreur de syntaxe Losque que je teste la requête soeur qui est Select SUBSTRING (CHAMPS2, 1, Position (' ' IN CHAMPS2)) FROM NOM_TABLE MySql me retourne les bonnes valeurs. Est ce que la fonction SUBSTRING n'est pas utilisable pour mettre à jour des champs ? Merci de votre réponse |
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Inscription : avril 2006 Messages : 833 ![]() |
dans ton UPDATE, essaye de dire la ligne que tu veux UPDATER
du style Code :
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 74 ![]() |
Merci pour cette demande de précision.
La requête que j'essaye de faire marcher est basée sur l'extraction d'une partie d'une chaîne de caratère basée sur : UPDATE NOM_TABLE SET CHAMPS1 = SUBSTRING (CHAMPS2, 1, Position (' ' IN CHAMPS2)) Mais cela ne marche pas. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : avril 2006 Messages : 833 ![]() |
moi ce que je fais dans ces cas la c'est que je fait un curseur pour ma table et que je fait le traitement pour chaque ligne au lieu d'essayer de le faire pour la colonne en entier d'un coup.
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 74 ![]() |
En fait, je n'ai jamais utilisé de curseur.
Serait'il possible d'avoir une exemple basé sur la requête que j'ai écrite dans ma demande ? |
|
|
00
|
|
|
#6 | ||
|
Membre chevronné
![]() Inscription : avril 2006 Messages : 833 ![]() |
je te donne un exemple mais j'ai pas trop le temps de l'adapter a ton cas desole
j'utilise une proc stocké de ce style : Code :
|
||
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 74 ![]() |
Merci pour ton aide
|
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : avril 2006 Messages : 833 ![]() |
si tu veux qu'on adapte le code a ta table donne nous un exemple de ta table avec le nom des champs, quelques valeurs et ce que tu veux .
merci |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : août 2005 Messages : 74 ![]() |
J'ai une table avec 3 champs qui sont le CODE (clé primaire), NOM et PRENOM.
Le problème est que le nom et le prénom sont concaténé dans le même champ, c'est à dire dans le NOM. Le but est d'éclater les informations figurant dans nom en prenant le prenom (espacé par un <espace>) et l'enregistrer dans le champ PRENOM. Ensuite il faut ensuite effacer la partie correspondante au prénom qui se trouve dans le champ NOM CODE....NOM.......................PRENOM .....1.........NOM1 Prénom1 .....2.........NOM2 Prénom2 .....3.........NOM3 Prénom3 .....4.........NOM4 Prénom4 .....5.........NOM5 Prénom5 .....6.........NOM6 Prénom6 J'y joints le fichier contenant les valeurs correspondant à la description ci dessus. |
|
|
00
|
|
|
#10 | ||
|
Membre chevronné
![]() Inscription : avril 2006 Messages : 833 ![]() |
On va dire que ta table s'apelle TOTO
essaye ca : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com