Bonjour,
 
Dans une fonction pgsql, je souhaite :
  1. charger une table à partir d'un fichier ( utilisation de COPY ) 
  2. réaliser des opérations
  3. décharger la table dans un fichier ( utilisation de COPY )
 
Pour paramétrer les fichiers, je place deux arguments de type text à ma fonction.
Pour utiliser des variables dans la commande COPY, je place EXECUTE devant.
 
Pour charger, cela donne la commande suivante :
  EXECUTE 'COPY test FROM ''' || fichier_in || ''' with  DELIMITER  '','''
 
Pour décharger, cela donne la commande suivante :
  EXECUTE 'COPY test TO ''' || fichier_out || ''' with  DELIMITER  '','''
 
La première commande passe mais la seconde est en erreur. PostgreSQL m'indique qu'il ne trouve pas la colonne fichier_out.
 
Si au lieu d'utiliser la variable fichier_out, j'indique un fichier en dur. Cela fonctionne.
J'ai utilisé fichier_in à la place de fichier_out. J'obtiens la même erreur.
J'ai beau tourné dans tous les sens, je ne vois pas le problème. Avez-vous une idée ?
 
La version de la base est la version 8.2 sous Linux. Je travaille sur une application assez ancienne. Le projet de migration est en cours (non lié à mon problème)
Cependant, sauf erreur de ma part, je ne vois pas ce que m'apporterai une nouvelle version.
 
Par avance, merci,
 
Cordialement,
Lilian.