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.