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 23/02/2011 11:35:55

mich30
Membre

copy eviter les "

bonjour
dans mon fichier texte de 116000 lignes  j'ai des enregistrements de type "1223";"12456";

create table sysal.sysal2003 (           
num    character varying(4)        ,
netarne    character varying(5)        );

donc je fais

COPY sysal.sysal2003 FROM 'D://DONNEES SIG//msa//sisal_2003_PACA.csv' WITH DELIMITER ';' ;

mais plantage car le " est pris comme caractere (num pas plus de 4 caracteres)

existe t'il une option dans copy  (que je ne trouve pas ) dans l'insertion de la table pour enlever les " (quotes) car c'est pris comme
un caractere
- dans le cas ou ce n'est pas possible existe t'il une autre solution (a part enlever les " dans le fichier texte , ou augmenter la taille de
mes 100 champs et aprés enlever les " en table et puis réduire la taille des champs , trop fastidieux)

merci

Hors ligne

#2 23/02/2011 12:03:13

daamien
damien clochard

Re : copy eviter les "

mich30 a écrit :

existe t'il une option dans copy  (que je ne trouve pas ) dans l'insertion de la table pour enlever les " (quotes)

oui, cette option s'appelle QUOTE

http://www.postgresql.org/docs/9.0/static/sql-copy.html

N'hésitez pas à lire la doc avant de poser vos questions smile

Hors ligne

#3 23/02/2011 12:45:24

mich30
Membre

Re : copy eviter les "

je veux remplacer quote par ' ou plutot je veux virer les quotes pour que ca insere dans mon champ

COPY sysal.sysal2003 FROM 'D://DONNEES SIG//msa//sisal_2003_PACA.csv' WITH DELIMITER ';' QUOTE " ' "
;
il me mets
erreur de syntaxe sur ou près de « "'" »
merci

Hors ligne

#4 23/02/2011 12:46:41

mich30
Membre

Re : copy eviter les "

ou

COPY sysal.sysal2003 FROM 'D://DONNEES SIG//msa//sisal_2003_PACA.csv' WITH QUOTE '"'  DELIMITER ';'
erreur
ERREUR:  le guillemet COPY n'est disponible que dans le mode CSV

Hors ligne

#5 23/02/2011 13:20:52

gleu
Administrateur

Re : copy eviter les "

Ça tombe bien, vos données sont au format CSV. Il suffit donc d'ajouter le mot clé CSV comme l'indique la documentation.


Guillaume.

Hors ligne

#6 23/02/2011 14:56:38

mich30
Membre

Re : copy eviter les "

ok merci
COPY sysal.sysal2003 FROM 'D://DONNEES SIG//msa//sisal_2003_PACA.csv'  DELIMITER ';'  CSV  QUOTE '"'
comme cela ca marche

Hors ligne

Pied de page des forums