PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 25/11/2015 14:56:56

CTE dans un select query_to_xml()

Bonjour,

J'ai un problème avec un CTE quand je veux l'utilser dans query_to_xml().

Etant donné la table suivante :
--------------------------------------------------------------
CREATE TABLE client (client_id TEXT  ) ;
INSERT INTO  client VALUES('1649') ;
--------------------------------------------------------------
Ceci fonctionne correctement :
WITH myselect   AS
(select         client_id
                from client
                where client_id = '1649'
)
SELECT  * from  myselect
;
---------------------------------------------------------------------
Mais ceci ne fonctionne pas :
WITH myselect   AS
(select         client_id
                from client
                where client_id = '1649'
)
         
select query_to_xml(
'SELECT  * from  myselect' , TRUE, TRUE, ''
)
;

Normal ou pas ?
Ou une faute de frappe quelque part ?

Merci,
jason

Hors ligne

#2 25/11/2015 15:16:11

edlm
Membre

Re : CTE dans un select query_to_xml()

Bonjour,


oui j'imagine qu'il faut plutôt le formuler comme cela (à tester):

select query_to_xml(
$$WITH myselect AS
(select client_id
  from client
  where client_id = '1649'
)
SELECT  * from  myselect$$ , TRUE, TRUE, ''
)
;

Le texte de la requête, argument de la fonction query_to_xml, doit être complet. La fonction ne connaît que ce qu'on lui passe.


Éric

Hors ligne

#3 25/11/2015 18:00:00

Re : CTE dans un select query_to_xml()

Merci, ça marche.

Hors ligne

Pied de page des forums