오라클에서 쿼리 실행결과 저장하기 방법
[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 |