Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
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/03/2007, 17h15   #1
Invité de passage
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 1
Points : 1
Par défaut Déchargement d'une table dans un fichier - Problème de saut de ligne

Bonjour,

Je souhaite récupérer les données d'une table dans un fichier. Malheureusement, je dois affecter un ordre REPLACE a certaines de mes colonnes et cela génère des sauts de ligne dans le fichier en sortie.

Voici un exemple de .sql que j'utilise :

set head off;
set newpage 0;
set verify off;
set trunc off;
set echo off;
set pagesize 0;
set space 0;
set linesize 320;
set show off;
set feedback off;
set colsep ';';

spool fichier_toto;

select
COLONNE1,
REPLACE(REPLACE(REPLACE(COLONNE2,'/','//'),'"','/"'),';','/;') ,
COLONNE3

from table

spool off;

exit;



Merci d'avance,
lionel_76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 17h22   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Peux-tu nous donner un exemple de valeur qui génère un saut de ligne ?
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 17h53   #3
Invité de passage
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 1
Points : 1
Par exemple dans colonne 2 j'ai :

"TEST ;"

qui est tranformé par mon REPLACE en "TEST /;"

De toute façon, pour n'importe quelle valeur, j'ai un saut de ligne à l'endroit de mon REPLACE.
lionel_76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 18h08   #4
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
A mon avis quand tu fais ton replace Oracle prévoie un certains nombre de caractères. Comme ta ligne est limitée à 320 caractères, tu te retrouves à la ligne.
Si tu fais :
Code :
1
2
3
4
SELECT
COLONNE1 || ';' || 
REPLACE(REPLACE(REPLACE(COLONNE2,'/','//'),'"','/"'),';','/;') || ';' ||
COLONNE3
tu ne devrais plus avoir le problème.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 18h22   #5
Invité de passage
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 1
Points : 1
Merci !! Effectivement en mettant des || ça fonctionne.
lionel_76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h47.


 
 
 
 
Partenaires

Hébergement Web