Exportar fàcilment dades d'Oracle a un fitxer pla

Una manera molt simple d'exportar dades d'una consulta, taula, etc. d'una base de dades oracle a un fitxer pla és utilitzar la comanda SPOOL de SQLPlus. D'aquesta manera no cal dependre d'eines visuals, que no sempre estan disponibles, o no sempre funcionen com volem. A més es poden utilitzar les funcions de format d'Oracle en la mateixa sentència SELECT perquè les dades es generin ja en el format que necessitem.

Si, per exemple, volem recuperar algunes dades de tots els registres d'una taula de clients ordenats per data d'alta, només cal obrir una sessió de SQLPlus i executar aquesta sèrie de comandes:

SQL> SET HEADING OFF
SQL> SET FEEDBACK OFF
SQL> SPOOL C:\datos_de_clientes.txt
SQL> SELECT 'Cliente ' || CLI_NOMBRE || ', ' || CLI_NIF || '. Fecha alta: ' || TO_CHAR(CLI_FECHAALTA,'YYYY-MM-DD')
     FROM TABLA_CLIENTES
     ORDER BY CLI_FECHAALTA DESC;
SQL> SPOOL OFF;
SQL> SET FEEDBACK ON
SQL> SET HEADING ON

Les primeres línies amaguen les capçaleres que contindrien el nom dels camps, i no ens interessen perquè nosaltres només volem les dades. Spool dirigeix la sortida de dades cap al fitxer 'datos_de_clientes.txt' de la unitat C de la nostra màquina local.

Aquesta tècnica també es pot emprar per tasques més sofisticats com la constucció dinàmica de scripts a partir de les metadades que tenim disponibles en la nostra BD.