oracle의 Spool 명령어를 가지고 잔머리를 굴려서 생각해낸 방법

 

spool 명령으로 테이블의 데이터를 파일로 출력하는 방법이다.

 

다음의 내용을 sql 확장자 파일로 저장한다.

 

getList.sql의 내용 ▽

 

set echo off                 // 실행하는 SQL문을 출력하지 않는다.

 

set pages 0                // 한페이지로 지정할 라인 수. 0으로 입력시 heading, page break, title을 표시하지 않는다.

 

set trimspool on          // 라인 뒤 공백을 제거한다.

 

set colsep ','              // 컬럼 간 데이터 구분자

 

set lines 30000            // 한 라인에 표시할 글자 수

 

set termout off             // 실행한 sql문을 보이지 않음

 

set feed off                 // SQL문으로 실행한 결과 건수를 보이지않음

 

 

spool /경로/list.txt;      // 저장할 파일명 및 경로 지정

 

select * from 테이블명;  // 추출할 쿼리 (쿼리작성시 중간에 빈칸(빈줄)이 들어가면 안됨

 

spool off                      // 화면출력저장 종료

 

quit                            // 오라클을 빠저나온다.

 

 

 

파일을 저장한 후 다음과 같이 실행하면 지정한 경로에 파일이 생성된다.

- 내 컴퓨터에 있는 DB에 접속할경우

sqlplus userid/passwd @getList.sql

 

 - 외부(다른네트워크)에 있는 오라클에 접속할경우

 

sqlplus userid/passwd@otherDB @getList.sql


- 참고 -

http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/ch12040.htm#i2698970

http://ss64.com/ora/syntax-sqlplus-set.html

 

 

+ Recent posts