Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2007, 17h00   #1
Invité régulier
 
Inscription : septembre 2003
Messages : 20
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 20
Points : 6
Points : 6
Par défaut COPY FROM selectif

Bonjour à tous,

J'ai des données à importer dans une bdd postgresql et j'ai une question de base pour laquelle je n'ai pas trouvé de réponse.
Mes données sont dans un fichier texte comprennant une vingtaine de colonnes séparées par des |
Je voudrais importer 3 de ces 20 colonnes dans une table.
Est-il possible de spécifier quelles colonnes du fichier texte sont
à utiliser pour approvisionner la table ?
J'ai vu que cela est possible avec COPY TO, qu'en est-il avec COPY FROM ?
Merci pour toute info
nadine.mauch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2007, 20h44   #2
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 28
Points : 25
Points : 25
dans la doc , c'est indiqué ...
http:/http://www.postgresql.org/docs/8.1/static/sql-copy.html
didier2020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 11h05   #3
Membre habitué
 
Avatar de Davboc
 
Inscription : novembre 2005
Messages : 266
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2005
Messages : 266
Points : 139
Points : 139
euh...Dites moi si je suis aveugle mais cette doc je l'ai parcouru plusieurs fois et je n'ai pas vu qu'on pouvait faire un COPY FROM en omettant des colonnes du fichier d'entrée...

Si ?

EDIT :

Citation:
If a list of columns is specified, COPY will only copy the data in the specified columns to or from the file. If there are any columns in the table that are not in the column list, COPY FROM will insert the default values for those columns.
En effet je suis aveugle, il suffit de spécifier la liste des colonnes...désolé !
Davboc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2007, 15h52   #4
Membre éclairé
 
Inscription : janvier 2005
Messages : 336
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 336
Points : 353
Points : 353
une méthode rapide, est de créer une table temporaire qui contiendra autant de colonne que dans le fichier, ensuite charger le fichier dans la table et remplir la table final avec certaine données de la table temporaire avec la requête suivante
Code :
1
2
3
 
INSERT INTO table1 (champ1, champ2, champ3) 
SELECT tmp_champ1, tmp_champ2, tmp_champ3 FROM tmp_table WHERE ... ;
Le WHERE n'est pas nécéssaire si l'on veux tous les enregistrements.
__________________
Christophe Chauvet (KrysKool)
kryskool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2007, 15h59   #5
Membre habitué
 
Avatar de Davboc
 
Inscription : novembre 2005
Messages : 266
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2005
Messages : 266
Points : 139
Points : 139
Cette méthode est-elle plus rapide qu'un copy from pour lequel on précise les colonnes ?
Davboc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 23h49   #6
Invité de passage
 
Inscription : octobre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3
Points : 3
Points : 3
salut pourrais tu poster un exemple de COPY FROM avec la liste des champs du fichier CSV à importer?

merci ecnore car dans la doc je n'ai pas vu grand chose...jdois avoir des problemes de vue.....
majeur01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 09h20   #7
Membre habitué
 
Avatar de Davboc
 
Inscription : novembre 2005
Messages : 266
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2005
Messages : 266
Points : 139
Points : 139
Désolé j'ai pas ça sur moi en ce moment, mais j'ai trouvé ça sur internet donc tu devrais pouvoir le trouver également...

est ton ami
Davboc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 20h40   #8
Invité de passage
 
Inscription : octobre 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3
Points : 3
Points : 3
là est le probleme lol...gogole n'est pas mon ami pour cette aventure.

J'ai chercher et vu mais ça correspondait pas à ce que je voulais.

Ce que je voudrais faire c'est choisir les colonnes du fichier csv à importer dans ma base de données via la premiere ligne du fichier qui contiendrait les noms des champs.
majeur01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h51.


 
 
 
 
Partenaires

Hébergement Web