Bonsoir tous !
Au sein d’une procédure PLSql employant une fonction :
- qui récupère directement les noms des champs comme nom de noeud xml puis leurs valeurs comme valeur de noeud bien entendu, ainsi que le package DBMS_XMLDOM
- pour l'exploitation par la suite de ces noeuds,
imaginez une requête tenue entre quotes du type 'select blabla' pour pouvoir être insérée dans une variable. (Rem: Délimitation impossible de cette requête avec des doubles quotes, j'ai déjà essayé)
Et, que dans les champs que l’on souhaite rapatrier il y ait une concaténation de 2 valeurs, provenant de 2 champs de la table donc, que l’on identifie par un simple alias, mais dont on veut tout de même pouvoir distinguer l'une de l'autre à l’aide d’un séparateur point virgule positionné entre les deux.
Telle que (je l'ai) rédigé de cette façon :
VarChaine:='select champ1 ||' ';' '|| champ2 as CONCATVALS from matable' et bien problème, car ceci ne fonctionne pas parce que le point virgule générera une exception parser java lang lors de l’emploi d’un getNodeValue() sur le nœud xml généré :
Cead qu’il butera sur le nœud généré < CONCATVALS>ValChamp1;ValChamp2< CONCATVALS />
Une proposition pour échapper le point virgule ?
J’ai fait pleins d’essais sans succès, que ce soit avec le caractère \ ou l’enveloppement par {}, caractères d'échappement mais je ne sais peut être pas bien agencer comme il faut;
Alors merci d'avance à l'esprit éclairé qui saura me montrer sa lumière![]()
Partager