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 06/01/2012 17:37:57

marcandre
Membre

Attribution d'une date d'importation à l'exécution de la commande COPY

Bonjour à tous,

Je fais des importations de données d'un fichier CSV vers une table grâce à la commande COPY, voici la syntaxe suivante :

ALTER TABLE ma_table ALTER COLUMN colonne4 SET DEFAULT 'ma valeur';
COPY ma_table(colonne1,colonne2,colonne3,colonne4,colonne5) FROM '/dossier/mon_fichier.csv' DELIMITER AS ';' NULL AS '' CSV HEADER QUOTE AS '"';

Les données sont importées vers les colonne1, colonne2 et colonne3 depuis le fichier CSV . La colonne 4 reçoit une valeur par défaut .

Je voudrais que la colonne de la table colonne5 reçoive une date d'importation . Comment puis-je affecter une date d'importation par défaut à la colonne colonne5 ?

J'ai essayé de  faire la syntaxe suivante pour attribuer une date d'importation par défaut :

ALTER TABLE ma_table ALTER COLUMN colonne5 SET DEFAULT TIMESTAMP

mais j'ai un message d'erreur .

Cordialement .

Hors ligne

#2 06/01/2012 17:56:05

gleu
Administrateur

Re : Attribution d'une date d'importation à l'exécution de la commande COPY

Il faut donner la valeur now() comme valeur par défaut de la colonne colonne5 :

ALTER TABLE ma_table ALTER COLUMN colonne5 SET DEFAULT now();

Puis, lors de l'exécution du COPY, il ne faut pas indiquer la colonne colonne5.


Guillaume.

Hors ligne

#3 06/01/2012 18:50:40

marcandre
Membre

Re : Attribution d'une date d'importation à l'exécution de la commande COPY

Merci pour ce renseignement,

j'ai essayé la ligne de code, ça fonctionne.

Chaque donnée importée reçois la date d'importation .

A bientôt .

Hors ligne

Pied de page des forums