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

Jak wyeksportować wyniki zapytania do pliku .txt przy użyciu SQLcl (Oracle)

Podczas odpytywania bazy danych Oracle możesz użyć SPOOL polecenie, aby wyeksportować wyniki zapytania do pliku tekstowego podczas korzystania z SQLcl.

Przykład

Oto przykład, który eksportuje całą tabelę:

SPOOL '/Users/barney/data/regions.txt';
SELECT * FROM regions;
SPOOL off;

Oto, co zrobił, linia po linii:

  • Pierwszy wiersz używa SPOOL polecenie, aby określić, gdzie zostanie zapisany plik wyjściowy. Pamiętaj, aby zmienić /Users/barney/data/regions.txt do lokalizacji w systemie i odpowiedniej nazwy pliku.
  • W drugim wierszu uruchomiłem zapytanie SQL – wyniki, dla których eksportuję. W tym przypadku wyeksportowałem całe regions stół.
  • Następnie zmieniłem SPOOL wyłączony.

Oto jak wygląda wynikowy plik:

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

4 rows selected. 

W moim przypadku mój SQLFORMAT został ustawiony na ansiconsole , a więc dane wyjściowe to odzwierciedlają.

Możesz to zmienić na dowolny format, który Ci odpowiada.

Oto przykład eksportowania wyniku w formacie, który można wykorzystać jako plik importu za pomocą programu sql*loader:

SET SQLFORMAT loader
SPOOL '/Users/barney/data/regions_loader.txt';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole

Wynik:

 1|"Europe"|
 2|"Americas"|
 3|"Asia"|
 4|"Middle East and Africa"|

4 rows selected. 

W tym przypadku również zresetowałem SQLFORMAT powrót do ansiconsole raz SPOOL operacja została zakończona.

Usuń opinię

Możesz usunąć X rows selected z SET FEEDBACK off :

SET SQLFORMAT ansiconsole
SET FEEDBACK off
SPOOL '/Users/barney/data/regions_no_feedback.txt';
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on

Wynik:

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

W tym przypadku włączyłem FEEDBACK ponownie po wyeksportowaniu pliku.

Dołącz wyniki

Domyślnie SPOOL używa REPLACE , który zastępuje plik, jeśli już istnieje.

Możemy jednak użyć APPEND argument, aby dołączyć wyniki do pliku.

Przykład:

SET SQLFORMAT ansiconsole
SET FEEDBACK off
SPOOL '/Users/barney/data/regions_no_feedback.txt' APPEND;
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on

Wynikowy plik:

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

Ten przykład dołączył wyniki do pliku, który został utworzony (i wypełniony) w poprzednim przykładzie. Spowodowało to zduplikowanie wyniku w pliku.

Zastąp istniejący plik

Możemy użyć REPLACE aby nadpisać istniejący plik wynikami nowego zapytania:

SET SQLFORMAT ansiconsole
SET FEEDBACK off
SPOOL '/Users/barney/data/regions_no_feedback.txt' REPLACE;
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on

Wynikowy plik:

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

Jak wspomniano, REPLACE jest ustawieniem domyślnym, więc mogliśmy po prostu całkowicie pominąć ten argument.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znak ucieczki pl-sql Oracle (dla ' )

  2. SQL, aby znaleźć słowa pisane wielkimi literami z kolumny

  3. Używanie Dappera z procedurami składowanymi Oracle, które zwracają kursory

  4. Monitorowanie SQL w SQL Developer

  5. MySQL odpowiednik Oracle SEQUENCE.NEXTVAL