Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2007, 17h31   #1
Invité régulier
 
Inscription : janvier 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 34
Points : 6
Points : 6
Par défaut renommer un mot dans une table

Bonjour,

comment renomme t'on un mot qui est dans une table.
j'ai un champ texte dans une table "livre"
Cette table contient plus de 600 enregistrements, dans le champs texte le mot bouquins est insérés. Je voudrais avoir une fonction, qui fait:
dans le champ texte de la table LIVRE renommer "bouquins" en "livres".

merci
dztcid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 23h17   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Code :
1
2
UPDATE LIVRE
SET texte = REPLACE(texte, 'bouquins', 'livres') ;
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 12h53   #3
Invité régulier
 
Inscription : janvier 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 34
Points : 6
Points : 6
merci

pour cette réponse clair et net

je vais essayer

merci
dztcid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 03h47   #4
Invité régulier
 
Inscription : janvier 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 34
Points : 6
Points : 6
Bonjour,

Je reviens plus d'un an après.

Comment cette fois renommé un caractère par un autre et ce dans toute une table.

j'ai bien essayé la requête que vous m'avez fourni mais elle fonctionne pour un champs donné. je voudrais la généralisé à toute la table.

merci
dztcid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 09h06   #5
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Bonjour,

Je ne pense pas que ça soit possible.

Tu peux récupérer la liste des champs d'un table comme ceci :
Code :
1
2
3
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'laTable';
Le SQL ne permet pas à ma connaissance de régler directement ton problème, mais je peux me tromper.

Je pense que tu n'as d'autres choix que de réalisé cela avec des opérations procédurales et non ensembliste.
Deux choix s'offrent a toi :
- Programmation stocké (PL/SQL par exemple).
- Programmation applicative (Langage utilisé pour la programmation de l'application proprement dite).

Si ça ne te gène pas de modifier à la main toi même ta requête en fonction de l'évolution de la structure de la table (ce qui arrive rarement)
La syntaxe de l'update le permet :
Code :
1
2
3
4
UPDATE LIVRE
SET
champ1 = REPLACE(champ1, 'aRemplacer', 'parCeci') ,
champ2 = REPLACE(champ2, 'aRemplacer', 'parCeci';
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 13h29   #6
Invité régulier
 
Inscription : janvier 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 34
Points : 6
Points : 6
Bonjour,

je vais donc faire une requête de ce type:

Code :
1
2
3
4
5
UPDATE LIVRE
SET
champ1 = REPLACE(champ1, 'aRemplacer', 'parCeci') ,
champ2 = REPLACE(champ2, 'aRemplacer', 'parCeci')
;
merci kazou

PS: j'ai une autre question à cet endroit du forum, mais pas de réponse, peut être que c'est impossible...
http://www.developpez.net/forums/sho...d.php?t=555959
dztcid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 14h08   #7
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par kazou Voir le message
- Programmation stocké (PL/SQL par exemple).
Juste pour chipoter sur le vocabulaire : "PL/SQL" est un terme purement Oracle. De manière général, on parle de SQL procédural. Dans SQL Server, l'équivalent est "Transact-SQL" (T-SQL), mais pour MySQL, il n'y a pas de terme précis (la doc parle de "stored routines", mais n'a pas de désignation du langage lui-même).
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 15h15   #8
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Citation:
Envoyé par Antoun Voir le message
Juste pour chipoter sur le vocabulaire : "PL/SQL" est un terme purement Oracle. De manière général, on parle de SQL procédural. Dans SQL Server, l'équivalent est "Transact-SQL" (T-SQL), mais pour MySQL, il n'y a pas de terme précis (la doc parle de "stored routines", mais n'a pas de désignation du langage lui-même).
Tout à fait d'accord, J'ai cité le langage PL/SQL afin de donner un nom plus concret, cependant ça peut induire en erreur et effectivement j'aurais du préciser que ça venais d'oracle.
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h14.


 
 
 
 
Partenaires

Hébergement Web