일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- boolean
- VAR
- input
- Append
- createElement
- htmlFor
- Openlayers
- FOR
- appendChild
- createtextnode
- Let
- 학습법 #집중력
- const
- Today
- Total
Atomic Habits
오라클 spool 기능 - 쿼리문 파일로 저장하기 본문
오라클 sqlplus에서 spool 기능을 사용하여 결과를 텍스트로 저장하고 컬럼 조회 결과마다 컴마(,)로 출력하는 방법을 사용한다면 엑셀에서도 열어서 보기 편하게 볼수 있답니다.
데이터베이스 조회 결과를 "C:\spooltest.txt"로 저장하는 예제를 설명하도록 하겠습니다.
UNIX AIX 등에서는 경로를 지정하지 않으면 sqlplus를 실행한 경로에 파일이 만들어 집니다
다음과 같이 오라클 예제 스키마인 scott로 접속해보도록 할께요.
SQLPLUS scott/tiger
sqlplus에서 DB에 접속하였으면 다음과 같이 입력해 주세요.
set echo off
set trimspool on
set pagesize 0
set feedback off
spool c:\spooltest.txt
스풀(spool), 결과를 텍스트 파일로 저장하기 준비가 되었습니다.
오라클의 샘플 테이블을 다음과 같이 조회하면 spool 명령으로 지정한 파일에 내용이 저장된답니다.
SELECT empno || ',' || sal || ',' || ename || ',' || to_char(hiredate, 'YYYY-MM-DD') FROM emp;
SELECT deptno, dname FROM dept;
이렇게 하면 내용이 sqlplus 콘솔 화면에 잔뜩 출력될거예요.
이렇게 하고 캡처를 중지할려면 다음과 같이 spool 기능을 꺼주면 됩니다.
spool 종료 명령입니다.
spool off
이 외에 spool 관련 옵션에 대한 명령어입니다.
헤더(header)가 출력(display)되지 않고 데이터만 출력하기 위한 명령입니다.
SQL>SET HEADING OFF
pagesize의 default는 14이며 그대로 하면 14줄마다 1줄씩 공백이 생기므로 그런 현상을 방지하기 위해 크게 지정합니다.
SQL>SET PAGESIZE 1000
linesize를 record 길이만큼 지정하여 아래로 구분되지 않도록 합니다.
SQL>SET LINESIZE 300
명령어가 출력되지 않도록 지정하는 옵션, 명령어입니다.
SQL>SET ECHO OFF
조회 결과가 화면에 나오지 않고 텍스트 파일에만 나오도록 하는 명령어입니다.
SQL>SET TERM OFF
출처: https://mystarlight.tistory.com/9 [커피향처럼]
'IT > SQL' 카테고리의 다른 글
[Oracle] 모든 사용자 오브젝트(테이블, 인덱스, 시퀀스) 삭제 (0) | 2021.11.20 |
---|---|
[SQL] PK-FK 연결 시 PK 테이블 삭제 방법 (0) | 2021.11.20 |
SQL Loader 활용 (0) | 2021.11.18 |
[설치] 오라클 이전 버전 설치하기 (0) | 2021.11.17 |
export/import - loader (0) | 2021.11.16 |