Oracle Database TIP
SPOOL을 이용하여 Table의 데이터를 저장하는 방법 4 26,721

by 김정식 SPOOL [2002.02.03]


  오라클에서는 SPOOL 기능을 이용해서 TXT파일이나 SAM파일에 검색된 테이터를 저장 할 수 있다.

  먼저 파일에 저장될 검색 결과를 얻기위한 SQL문을 스크립트 파일로 만든다.

  여러번에 SQL문을 돌리는 것보다 하나의 스크립트 파일을 만들어서 실행하는것이 더 효율적이다.

 

실행시킬 SQL문을 C:\SpoolSelect.sql로 저장 한다.
---- SpoolSelect.sql  시작 ---
SELECT empno, sal, ename, to_char(hiredate, 'RRRR-MM-DD') FROM emp;
SELECT deptno, dname FROM dept;
---- SpoolSelect.sql  끝 ---


C:\> SQLPLUS scott/tiger 

-- header가 display되지 않고 데이터만 display 
SQL> SET HEADING OFF


-- pagesize의 default는 14이며 그대로 하면 
-- 14줄마다 1줄씩 공백이  생기므로 
-- 그런 현상을 방지하기 위해 크게 지정한다. 
SQL> SET PAGESIZE 10000     


-- linesize도 record 길이만큼 지정하여 
-- 아래로 구분되지 않도록 합니다.
SQL> SET LINESIZE  300        


-- 명령이 display되지 않도록 한다.
SQL> SET ECHO OFF


-- 조회 결과가 화면에 나오지 않도록 한다.  
SQL> SET TERM OFF


-- data가 들어가는 화일 이름을 지정 한다. 
SQL> SPOOL  C:\test.txt    


-- 스크립트 파일을 실행 시킨다. 
SQL> @C:\SpoolSelect.sql


SQL> SPOOL Off

-- test.txt file이 생성 되었는지 확인 해보자.
    

- 강좌 URL : http://www.gurubee.net/lecture/1152

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 이철원 [2008.08.14 17:19:31]
SET FEEDBACK OFF 도 해주면 좋아요

by 김정식 [2012.01.05 16:06:20]
SET TERMOUT OFF

by 김정식 [2013.11.30 18:50:19]

by 김정식 [2013.11.30 18:52:37]
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 80
SET ECHO OFF
SET TERM OFF
SET TRIMSPOOL ON
SET TRIMOUT   ON
SET FEEDBACK  OFF