Du kan også bruge følgende, selvom det indfører mellemrum mellem felter.
set colsep , -- separate columns with a comma
set pagesize 0 -- No header rows
set trimspool on -- remove trailing blanks
set headsep off -- this may or may not be useful...depends on your headings.
set linesize X -- X should be the sum of the column widths
set numw X -- X should be the length you want for numbers (avoid scientific notation on IDs)
spool myfile.csv
select table_name, tablespace_name
from all_tables
where owner = 'SYS'
and tablespace_name is not null;
Output vil være som:
TABLE_PRIVILEGE_MAP ,SYSTEM
SYSTEM_PRIVILEGE_MAP ,SYSTEM
STMT_AUDIT_OPTION_MAP ,SYSTEM
DUAL ,SYSTEM
...
Dette ville være meget mindre kedeligt end at skrive alle felterne ud og sammenkæde dem med kommaer. Du kan følge op med et simpelt sed-script for at fjerne mellemrum, der vises før et komma, hvis du vil.
Noget som dette virker måske...(mine sed-færdigheder er meget rustne, så det vil sandsynligvis kræve arbejde)
sed 's/\s+,/,/' myfile.csv