bonjour,

Je souhaite réaliser une opération de publipostage en SQL (remplacer des champs par des valeurs)

j'ai une table qui est structurée comme ça :

id : int
contenu : fulltext
rule : fulltext
data : fulltext
render : fulltext

exemple

id : 12
contenu : "bonjour @@Nom blablablabla comment allez-vous @@LaDate "
rule : "@@LaDate ,@@Nom"
data : "ce matin, pierre"

je souhaite avoir au final dans le champ Render, cette valeur :
"bonjour Pierre blablablabla comment allez-vous ce matin "




est-ce possible en SQL (mysql) ?
En php, ça pourrait se faire car c'est un remplacement de valeur dans une chaine en passant en paramètre un tableau de pattern, et un tableau de valeur.

J'imaginerai une syntaxe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
UPDATE matable
SET render=REPLACE (contenu,rule[???],data[???])
c'est assez la prise de tête car je n'ai pas bcp de marge de manoeuvre, je peux juste reformaté le contenu de rule et de data (ajouter des crochers, séparer par autre chose que des virgules, utiliser une notation en accollade...).
mon but est de ne pas faire 15 requêtes si dans mon contenu j'ai 15 valeurs à remplacer !

Je ne sais pas si l'implémentation de tableau de valeur est possible en SQL ni même si Mysql le gère ! Je me souvians avoir vu ça dans oracle et postgres ya longtemps.....)

Merci pour votre lecture, et ou de votre idée intuitive....