database/oracle

오라클에서 쿼리 실행결과 저장하기 방법

labj 2012. 3. 22. 00:38


오라클에서 쿼리 실행결과 저장하기 방법 
 
[sqlplus] 검색결과 파일로 저장하기.

1. TXT파일 생성 예제

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

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

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

 

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

SQLPLUS scott/tiger을 실행 시킵니다.


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


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


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


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


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


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


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


SQL>SPOOL Off

test.txt file이 생성 되었는지 확인 합니다.

 

SET HEADING OFF
SET PAGESIZE 1000
SET LINESIZE 300
SET ECHO OFF
SET TERM OFF
SPOOL D:\test.txt
SPOOL Off

 

 

2. 필드 값 구분하기.

1-1.select empno||' '||ename from emp; <== Tab으로 구분

1-2.select empno||','||ename from emp; <== 콤마로 구분

2-1.select empno||'"'||ename from emp; <== 필드 값에 큰따옴표 붙이는 방법
(작은 따옴표는 예약어 이기 때문에 에러 남)

 

SET HEADING OFF ;
SET PAGESIZE 1000;
SET LINESIZE 300 ;
SET ECHO OFF ;
SET TERM OFF ;
SPOOL D:\test.txt ;

 

'database > oracle' 카테고리의 다른 글

트리거 조회  (0) 2012.03.22
자바에서 오라클 프로시저 또는 패키지 호출 방법  (2) 2012.03.22
Oracle 10g Express Edition 현재 설치 설정  (0) 2012.03.22
테스트 이용자DB 구축하기  (0) 2012.03.22
오라클 함수  (0) 2012.03.22