2017-10-20 1 views
0

Dans une requête WITH RECURSIVE, est-il possible d'utiliser COPY TO de la même manière INSERT INTO?Postgresql AVEC COPIE RÉCURSIVE À

J'essaie d'écrire un fichier à partir d'une requête récursive sans avoir à l'enregistrer dans une table en premier.

+0

** S'il vous plaît [EDIT] ** votre question et ajouter quelques [données d'échantillon] (http://plaintexttools.github.io/plain-text-table/) et la sortie attendue basée sur ces données. [** Texte formaté **] (http://stackoverflow.com/help/formatting) s'il vous plaît, [** aucune capture d'écran **] (http://meta.stackoverflow.com/questions/285551/why-may -i-not-upload-images-de-code-sur-alors-quand-pose-une-question/285557 # 285557). ** [modifier] ** votre question - ne ** pas ** code postal ou des informations supplémentaires dans les commentaires. –

Répondre

3

sûr pourquoi pas, par exemple:

t=# copy (WITH RECURSIVE t(n) AS (
    VALUES (1) 
    UNION ALL 
    SELECT n+1 FROM t WHERE n < 100 
) 
SELECT sum(n) FROM t) to '/tmp/rc'; 
COPY 1 
Time: 5.161 ms 
t=# \! cat /tmp/rc 
5050 
+1

Je pense que l'OP * pourrait * essayer d'utiliser le 'COPY' * dans * le CTE. Mais sinon, c'est une tentative décente de répondre à une question très vague. – IMSoP

+0

hm ... dans ce cas, il faudrait dynamique plpgsql je suppose ... mais alors pourquoi CTE? .. Eh bien - permet de voir ce que OP dit :) bon point cependant - je relis l'OP - oui, il pourrait certainement être la demande –