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

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
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입