DB/Oracle
Oracle 쿼리 결과 파일로 저장하기(SPOOL)
멍목
2024. 2. 4. 23:07
반응형
Oracle Server에서 쿼리 실행 시, 결과가 많은 경우 데이터가 짤리는 경우가 있다.
이 경우, 쿼리 결과를 텍스트 파일로 저장하면 해결할 수 있다.
SPOOL을 이용하여 텍스트 파일로 추출할 수 있으며, SPOOL의 기본적인 구조는 아래와 같다.
------------------------------------------------------------
SET PAGESIZE 50000; -- 페이지 출력 크기 설정 (기본 : 14, 최대 : 50000)
SET ECHO OFF; -- 명령어 에코 끔
SET COLSEP '|'; -- 조회 결과 컬럼 간 구분자 '|' 설정
-- 위의 SET 하는 이유는 보기 좋도록 설정하는 것이다. 해도 그만 안해도 그만이다.
----------------------------------------------------------
SPOOL 추출경로;
SQL문장 실행; -- SQL 파일 실행도 가능하다.
SPOOL OFF;
쿼리 결과를 텍스트 파일로 추출하기 예제
쿼리가 입력된 .sql 파일을 실행하는 방법과 쿼리를 직접 입력하여 실행하는 방법이 존재한다.
아래의 방법은 쿼리가 입력된 .sql파일을 실행하여 쿼리 결과를 텍스트 파일로 추출하는 방법이다.
(쿼리를 직접 입력하려한다면 3번으로 건너뛰어도 무관하다.)
1. exampleSQL.sql 파일 생성 및 쿼리를 기입한다.
2. .sql 파일 생성한 위치에서 sqlplus로 들어간다.
3. 아래의 쿼리를 이용해 result.txt 로 추출한다.
( . 은 현재 경로를 의미한다. [oradb1 ~/바탕화면]에서 sqlplus에 접속하였으므로 현재 경로는 oradb1 ~/바탕화면이다.)
SPOOL ./result.txt -- 현재위치의 result.txt에 저장하겠다.
@./exampleSQL.sql -- exampleSQL 쿼리 실행. (직접 쿼리 입력해도 무관)
SPOOL OFF; -- SPOOL 종료
4. sqlplus를 나가서 추출한 파일을 확인한다.
반응형