본문 바로가기

Study/Oracle

[Oracle] SQL LOADER , 테이블 중복 데이터 체크

SQL LOADER

db 에 대용량으로 데이터를 넣을때 사용..

INSERT 방식보다 매우 빠르다.

 

SQLLDR SCOTT/TIGER CONTROL='C:\XXX.CTL' LOG='XXX.LOG' DIRECT=TRUE

sqlldr 이라는 프로그램이 있는데 이 프로그램 안에 console에서 실행한다.

오라클 bin 디렉토리에 exe 파일로 있고,

서버쪽에도 sqlldr 이라는 프로그램이 존재한다.

디렉토리는 오라클 홈/bin/

여기에 control 이라는 곳에 작성한 ctl 파일을 넣으면 됨.

ctl 파일 형식은.. 열어보면 create 와 비슷...

 

ctl  샘플 2

LOAD DATA

INFILE *

APPEND

INTO TABLE TBLMACS_TMPIDRLOG

WHEN RECORD_TYPE='R'

(

        RECORD_TYPE POSITION(01:01) CHAR

       ,RECORD_SEQ  POSITION(02:08) CHAR

       ,SVC_TYPE    POSITION(09:09) CHAR

       ,CALL_NUM    POSITION(10:20) CHAR

       ,CHARGE_NUM  POSITION(21:31) CHAR

       ,CP_NO       POSITION(32:36) CHAR

       ,CONTENTS_NO POSITION(37:38) CHAR

       ,MENU_NO     POSITION(39:40) CHAR

       ,CALL_START  POSITION(41:54) CHAR

       ,DURATION    POSITION(55:63) CHAR

       ,PKT_CNT     POSITION(64:72) CHAR

       ,PHONE_TYPE  POSITION(73:87) CHAR

       ,BROWSER_VER POSITION(88:102) CHAR

)

TEXT 파일로 EDITOR에서 쓰믄된다.

포지션으로 구분해서도 load 할 수 있다.

 

 

 

테이블 중복 데이터 체크

SELECT * FROM &1 A

WHERE ROWID >

(SELECT MIN(ROWID) FROM &1 B

WHERE B.&2 = A.&2)

ORDER BY &2;

'Study > Oracle' 카테고리의 다른 글

[oracle] 거리 계산 function  (0) 2019.05.21
[oracle] 엔터값 사라지게 하는 query 문  (0) 2019.05.21
[Oracle] 파일 읽고 쓰기  (0) 2019.05.20
[Oracle] DB 링크, 시퀀스, 트리거  (0) 2019.05.20
[Oracle] GRANT 권한부여  (0) 2019.05.20