IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

En-têtes de colonnes avec les données [10g]


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mars 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2012
    Messages : 16
    Points : 15
    Points
    15
    Par défaut En-têtes de colonnes avec les données
    Bonjour,
    Oups ! une question assez basique me semble-t-il .............. mais bon ...

    En mode batch, sous Windows / Oracle 10G, comment associer en output .csv les données trouvées dans une table AVEC les en-têtes de leurs colonnes ?
    Les deux sont possibles (pour les en-têtes : DESC, etc.. )
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    set echo off
    set feedback off
    set linesize 1000
    set pagesize 0
    set sqlprompt ''
    set trimspool on
    spool C:\output\resultats.csv
    select column_name
      from USER_TAB_COLUMNS
     where TABLE_NAME='table_exemple';
    -- ça marche
     
    select  ||ADRESSE||';'||';'||NOM||';'||PRENOM||';'||TEL||';'
      from table_exemple
     order by PNOM ; -- ça marche aussi
     
    spool off
    quit
    Je ne parviens pas à mêler les deux dans la même sysout ...
    Comment pourrais-je faire s'il vous plaît ?
    Les en-têtes de colonnes sont systématiques sous DB2, DB2/UDB .........

    A' vot' bon coeur ; Merci, infiniment, par avance.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Je ne sais pas si j'ai bien compris, est ce que le but est un résultat comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    set echo off
    set feedback off
    set linesize 1000
    --set pagesize 0
    set newpage none
    set sqlprompt ''
    set trimspool on
    set COLSEP ';'
    set HEADING on
    SET RECSEP OFF
    SET HEADSEP on
    set underline off
    spool C:\resultats.csv
    select * from emp;
    spool off
    exit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
         EMPNO;ENAME     ;JOB      ;       MGR;HIREDATE;       SAL;      COMM;    DEPTNO
          7369;SMITH     ;CLERK    ;      7902;17/12/80;       800;          ;        20
          7499;ALLEN     ;SALESMAN ;      7698;20/02/81;      1600;       300;        30
          7521;WARD      ;SALESMAN ;      7698;22/02/81;      1250;       500;        30
          7566;JONES     ;MANAGER  ;      7839;02/04/81;      2975;          ;        20
          7654;MARTIN    ;SALESMAN ;      7698;28/09/81;      1250;      1400;        30
          7698;BLAKE     ;MANAGER  ;      7839;01/05/81;      2850;          ;        30
          7782;CLARK     ;MANAGER  ;      7839;09/06/81;      2450;          ;        10
          7788;SCOTT     ;ANALYST  ;      7566;09/12/82;      3000;          ;        20
          7839;KING      ;PRESIDENT;          ;17/11/81;      5000;          ;        10
          7844;TURNER    ;SALESMAN ;      7698;08/09/81;      1500;         0;        30
          7876;ADAMS     ;CLERK    ;      7788;12/01/83;      1100;          ;        20
          7900;JAMES     ;CLERK    ;      7698;03/12/81;       950;          ;        30
          7902;FORD      ;ANALYST  ;      7566;03/12/81;      3000;          ;        20
         EMPNO;ENAME     ;JOB      ;       MGR;HIREDATE;       SAL;      COMM;    DEPTNO
          7934;MILLER    ;CLERK    ;      7782;23/01/82;      1300;          ;        10

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mars 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2012
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Oui, c'est bien cela. L'on aurait les noms des colonnes, les en-têtes DANS la sysout résultant du sql.

    Par exemple :

    berlioz;hector;musique;france
    cesar;jules;empereur;rome
    col1;col2;col3;col4;
    king;stephen;rédacteur technique;états-unis
    pan;peter;lutin;disneyland
    pitt;brad;hotesse d'accueil;états-unis
    poppins;mary;nurse;grande-bretagne
    richards;keith;DRH;grande-bretagne
    zidane;zinedine;pizzaiolo;france


    où col1 noms - col2 prénoms - col3=activités - col4=pays et en dessous, les valeurs des colonnes. Tri sur la colonne1.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Ah j'avais pas vu que le header était répété dans mon exemple, essaie avec le trick de Laurent Schneider :
    sql*plus pagesize explained
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    set echo off
    set feedback off
    set linesize 1000
    set pages 0 emb on newp none
    set sqlprompt ''
    set trimspool on
    set COLSEP ';'
    set HEADING on
    SET RECSEP OFF
    SET HEADSEP on
    set underline off
    spool C:\resultats.csv
    select * from emp;
    spool off
    exit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
         EMPNO;ENAME     ;JOB      ;       MGR;HIREDATE;       SAL;      COMM;    DEPTNO
          7369;SMITH     ;CLERK    ;      7902;17/12/80;       800;          ;        20
          7499;ALLEN     ;SALESMAN ;      7698;20/02/81;      1600;       300;        30
          7521;WARD      ;SALESMAN ;      7698;22/02/81;      1250;       500;        30
          7566;JONES     ;MANAGER  ;      7839;02/04/81;      2975;          ;        20
          7654;MARTIN    ;SALESMAN ;      7698;28/09/81;      1250;      1400;        30
          7698;BLAKE     ;MANAGER  ;      7839;01/05/81;      2850;          ;        30
          7782;CLARK     ;MANAGER  ;      7839;09/06/81;      2450;          ;        10
          7788;SCOTT     ;ANALYST  ;      7566;09/12/82;      3000;          ;        20
          7839;KING      ;PRESIDENT;          ;17/11/81;      5000;          ;        10
          7844;TURNER    ;SALESMAN ;      7698;08/09/81;      1500;         0;        30
          7876;ADAMS     ;CLERK    ;      7788;12/01/83;      1100;          ;        20
          7900;JAMES     ;CLERK    ;      7698;03/12/81;       950;          ;        30
          7902;FORD      ;ANALYST  ;      7566;03/12/81;      3000;          ;        20
          7934;MILLER    ;CLERK    ;      7782;23/01/82;      1300;          ;        10

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mars 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2012
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Bonjour skuatamad,

    Votre réponse me donne bien maintenant les en-têtes des colonnes.

    Merci beaucoup !!!!

    C'est quand même surprenant qu'Oracle n'indique pas ces en-têtes systématiquement, mais, bon .....

    En tout cas merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] cellule / on click / liste déroulante avec les données de colonne
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 06/05/2014, 17h07
  2. [AC-2007] Regrouper/fusionner/créer, une table/colonne avec les données d'autres colonnes
    Par Crachover dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/03/2014, 14h39
  3. Problème avec les données binaire
    Par Lachessis dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/08/2005, 17h38
  4. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo