Ceci est une ancienne révision du document !


Oracle

Export CSV sous oracle avec sqlplus

De base on ne peut pas exporter en CSV ;-)

Pour exporter le resultat d'une requête oracle en fichier csv (séparé par des ;) :

  • il faut modifier la requete source :
    select column1, column2, column3
    from MYVIEW
    WHERE MYCONDITIONS;

    qui devient (replacement des , entre champs par “||';'||”):

    select column1||';'||column2||';'||column3
    from MYVIEW
    WHERE MYCONDITIONS;
  • Enregistrons donc cette requête dans le fichier /tmp/requete.sql
  • Admettons qu'on veuille exporter le resultat dans /tmp/resultat.csv , Il faut se connecter avec sqlplus et taper les commandes suivantes :
    set pagesize 5000
    set linesize 200
    spool /tmp/resultat.csv
    @/tmp/requete.sql
    spool off;
Remarquez les mots clef “SPOOL $filename” et “SPOOL off” pour débuter puis mettre fin a la redirection de la sortie dans le fichier csv
adaptez le linesize pour avoir des lignes plus longues si vous en avez besoin

Afficher la requête de creation de table

Voici l'equivalent SQLplus du “SHOW CREATE TABLE” MySQL, en remplaçant $TABLE_NAME et $SCHEMA_NAME par les valeurs souhaitées :

set pages 0
set long 999999
select dbms_metadata.get_ddl('TABLE', '$TABLE_NAME', '$SCHEMA_NAME') from dual;
cette requete peut etre abrégée en
select dbms_metadata.get_ddl('TABLE', '$TABLE_NAME') from dual ; 

sur une table du schéma courant

sysadmin/tips/oracle.1343921501.txt.gz · Dernière modification: 2012/08/02 17:31 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0