본문 바로가기

Programming Practice/SQL

서버에서 직접 수행한 쿼리 결과를 텍스트 파일로 저장하기

1. 언제 사용하는가?

특정 Oracle 서버에 PL/SQL Developer 나 Orange, Toad 와 같은 tool을 이용해 접근이 불가한 경우가 있다.

이럴 경우 sqlplus를 이용해 직접 서버에서 쿼리를 수행해야 한다.

이때 select 쿼리의 경우, 그 결과가 Terminal 창에 나타나는데, 해당 결과를 텍스트 파일로 내려야 할 때가 있다.

아래와 같이 사용한다.


2. 어떻게 사용하는가?

1) sqlplus 접속하기

sqlplus 계정/패스워드@DB명

ex) sqlplus hr/hr@ORCL


2) 쿼리 실행 및 쿼리 결과 저장

spool 경로/텍스트파일명.txt

@경로/쿼리명.sql

spool off


ex) 

spool ./result.txt         

terminal 에서 sqlplus에 들어갔던 폴더에 result.txt 파일이 생기고, 해당 파일에 이후 terminal에서 표시되는 문구가 적힌다.

@./test.sql

terminal 에서 sqlplus에 들어갔던 폴더의 test.sql 을 수행한다.

spool off

텍스트 파일에 결과값이 적혀지는 것을 멈춘다.


cf)

spool : 컴퓨터 시스템에서 주변 장치와 프로세서를 동시에 작동시키는 기법