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 17/11/2011 16:43:36

marcandre
Membre

Commande Copy et renseignement d'une colonne hors fichier CSV

Bonjour à tous,

Je souhaite savoir par l'intermédiaire de la copy est ce que l'on peut renseigner une colonne avec une valeur constante .

Voici la commande suivante

COPY matable(col1, col2, col3,col4) FROM '/dossier/fichier.csv' DELIMITER AS ';' NULL AS '' CSV HEADER QUOTE AS '"'

J'ai les colonnes col1, col2 et col3 de la table matable qui importent les renseignements venant des colonnes du fichier CSV . Seule La colonne col4 n'importe pas les données venant du fichier CSV mais il reçoit une valeur constante .

Peut on importer des données sur ces colonnes (col1,col2 et col3) tout en renseignant la colonne col4 avec une valeur constante ?

Cordialement .

Hors ligne

#2 17/11/2011 16:50:43

arthurr
Membre

Re : Commande Copy et renseignement d'une colonne hors fichier CSV

Bonjour,

il faut utiliser une colonne avec un DEFAULT.

Par exemple, si vos 3 premières colonnes sont des text et la dernière un entier qui doit toujours être "5", il suffit de créer votre table comme ceci :

create table la_table(
col1 text,
col2 text,
col3 text,
col4 integer default 5);

par contre, il faut bien que votre CVS comporte 3 colonnes et non 4.

Dernière modification par arthurr (17/11/2011 16:53:04)

Hors ligne

#3 17/11/2011 17:00:24

marcandre
Membre

Re : Commande Copy et renseignement d'une colonne hors fichier CSV

Par contre, je suis amené à faire une routine d'importations des données de plusieurs fichiers CSV. La colonne col4 peut changer de valeur en fonction du fichier CSV a importer, comment puis je faire dans ce cas ?

Cordialement .

Hors ligne

#4 17/11/2011 17:33:39

rjuju
Administrateur

Re : Commande Copy et renseignement d'une colonne hors fichier CSV

Bonjour,

si vous utilisez le fonctionnement donné par arthurr, vous pouvez faire un ALTER TABLE la_table ALTER COLUMN col4 valeur; avant chaque COPY.

Hors ligne

#5 17/11/2011 17:42:37

frost242
Administrateur

Re : Commande Copy et renseignement d'une colonne hors fichier CSV

Oups, désolé.

Dernière modification par frost242 (17/11/2011 17:43:51)


Thomas Reiss

Hors ligne

#6 17/11/2011 17:52:41

gleu
Administrateur

Re : Commande Copy et renseignement d'une colonne hors fichier CSV

rjuju: il manque la clause SET DEFAULT, ainsi : ALTER TABLE la_table ALTER COLUMN col4 SET DEFAULT valeur;


Guillaume.

Hors ligne

#7 17/11/2011 17:55:53

rjuju
Administrateur

Re : Commande Copy et renseignement d'une colonne hors fichier CSV

oups oui j'ai écrit trop vite. L'auto complétion me tuera smile

Hors ligne

Pied de page des forums