DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

DATABASE/Oracle

[Oracle] SQL*Plus spool 활용하여 데이터 csv 파일 생성하기

DBnA 2024. 1. 5. 13:19

sqlplus spool 명령어를 활용하여 조회한 데이터를 csv 파일 생성

 

spool 이란? 

데이터를 파일로 저장하는 명령어

 

사용법

- SPOOL 파일명.확장자(csv, txt 등) : 데이터를 파일명.확장자 형식의 파일로 저장한다

- SPOOL OFF : SPOOL 종료

SPOOL /경로/파일명.확장자

 -- 쿼리 작성 및 sql 파일명

SPOOL OFF;

 

 

사용예제

--csvtest.sql 작성

--SET 명령어 활용하여 불필요한 옵션 제거 
set LINESIZE 1000
SET TRIMSPOOL ON
SET PAGESIZE 0
SET FEEDBACK OFF
SET TERMOUT OFF

SPOOL /orabackup/test.csv

SELECT 'a' ||','||'b' as ee
  FROM dual;

SPOOL OFF;

 

# csvtest.sql 파일이 있는 위치에서 sql*plus 실행

[oracle@devoracle01 orabackup]$ ss

SQL*Plus: Release 11.2.0.2.0 Production on Fri Jan 5 13:08:52 2024

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

# @파일명 으로 sql 파일 실행
SQL> @csvtest.sql

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

# csv파일 확인

[oracle@devoracle01 orabackup]$ cat test.csv
a,b