Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak utworzyć bufor do pliku w formacie CSV przy użyciu SQLPLUS?

Możesz również użyć poniższego, chociaż wprowadza on spacje między polami.

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;

Dane wyjściowe będą wyglądały następująco:

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

Byłoby to o wiele mniej żmudne niż wpisywanie wszystkich pól i łączenie ich przecinkami. Możesz użyć prostego skryptu sed, aby usunąć spacje pojawiające się przed przecinkiem, jeśli chcesz.

Coś takiego może zadziałać...(moje umiejętności sed są bardzo zardzewiałe, więc prawdopodobnie będzie to wymagało pracy)

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. Zapytanie o dane z XML

  2. Kopiowanie danych z pliku do CLOB w Oracle

  3. Zalecenia dotyczące obsługi Oracle i SQL Server w tej samej aplikacji ASP.NET z NHibernate

  4. Oracle PL/SQL:Przykład DBMS_SCHEDULER.CREATE_JOB

  5. Jak utworzyć użytkownika w Oracle Multitenant 12c bez prefiksu C##?