Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara menggulung ke file berformat CSV menggunakan SQLPLUS?

Anda juga dapat menggunakan yang berikut ini, meskipun ini memperkenalkan spasi antar bidang.

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;

Outputnya akan seperti:

    TABLE_PRIVILEGE_MAP           ,SYSTEM                        
    SYSTEM_PRIVILEGE_MAP          ,SYSTEM                        
    STMT_AUDIT_OPTION_MAP         ,SYSTEM                        
    DUAL                          ,SYSTEM 
...

Ini akan jauh lebih tidak membosankan daripada mengetik semua bidang dan menggabungkannya dengan koma. Anda dapat menindaklanjuti dengan skrip sed sederhana untuk menghapus spasi putih yang muncul sebelum koma, jika Anda mau.

Sesuatu seperti ini mungkin berhasil...(keahlian sed saya sangat berkarat, jadi ini mungkin perlu bekerja)

sed 's/\s+,/,/' myfile.csv 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. URL Oracle yang ditentukan tidak valid:OracleDataSource.makeURL

  2. Bagaimana saya bisa mengekstrak file dari bidang Oracle BLOB?

  3. Apakah ada fungsi di Oracle yang mirip dengan group_concat di mysql?

  4. CURRENT_TIMESTAMP dan SYSDATE berbeda di Oracle

  5. Mengelola penanganan kesalahan saat menjalankan sqlplus dari skrip shell