Mediante SQL*Plus se pueden realizar volcados de datos a fichero dando el formato que nos sea más conveniente. Todo depende de la parametrización que se realice de la sesión SQL y elaborar un poco las sentencias que utilicemos como fuente de datos.
En este ejemplo vamos a generar un fichero con estructura .csv utilizando la coma como separador y las dobles comillas para las columnas de tipo texto:
SET LINESIZE 80 SET NEWPAGE NONE SET HEADING OFF SET COLSEP '' SET RECSEP OFF SET PAGESIZE 0 SET FEEDBACK OFF SET TRIMOUT OFF SET TRIMSPOOL OFF SET VERIFY OFF ACCEPT what_owner PROMPT 'what owner? ' spool all_tables_list.csv; -- Headers select '"OWNER","TABLE NAME","NUM ROWS"' from dual; -- Data select '"'||owner||'","'||table_name||'",'||nvl(num_rows,0)||'' from all_tables where owner = '&what_owner'; spool off;
Si guardamos el script del cuadro superior en un fichero con nombre «all_tables_list.sql» y lo ejecutamos el resultado mostrará algo similar a las siguientes líneas (el resultado puede variar dependiendo de la versión de Oracle y las opciones que se tengan instaladas):
SQL> @all_tables_list.sql what owner? SYS "OWNER","TABLE NAME","NUM ROWS" "SYS","AUDIT_ACTIONS",0 "SYS","AW$AWCREATE",0 "SYS","AW$AWMD",0 "SYS","AW$EXPRESS",0 "SYS","DUAL",0 "SYS","ODCI_SECOBJ$",0 "SYS","ODCI_WARNINGS$",0 "SYS","OLAPTABLEVELS",0 "SYS","OLAPTABLEVELTUPLES",0 "SYS","PSTUBTBL",0 "SYS","STMT_AUDIT_OPTION_MAP",0 "SYS","SYSTEM_PRIVILEGE_MAP",0 "SYS","TABLE_PRIVILEGE_MAP",0
Mediante el comando «spool», el script guarda el resultado de la consulta en un fichero con nombre «all_tables_list.csv». El fichero se escribirá en la ruta desde la que hayamos ejecutado SQL*Plus.
Si abrimos este fichero con una aplicación para el tratamiento de hojas de cálculo podremos trabajar con los datos y realizar ordenaciones, agrupaciones y todas las operaciones propias de estas aplicaciones.