반응형

# sqlldr oracleID/passwd@SID control=test.ctl log=test.log data=test.csv

    

    control : sqlldr 수행에 필요한 여러가지 옵션 사항을 기술한 control파일 위치 기술
    log : 작업 결과를 저장할 log파일 기술

    data : 데이터 파일 기술
 

    LOAD DATA         

        INFILE 데이터파일

        REPLACE       IMPORT방식

        INTO TABLE 테이블명   

        FIELDS TERMINATED BY '필드구분자'     

        OPTIONALLY ENCLOSED BY '"'

        (필드1, 필드2, 필드3, ... 필드9) 

 

    * IMPORT방식
       - REPLACE : 테이블의 기존행을 DELETE하고 INSERT
       - TRUNCATE : 테이블의 기존 데이타를 truncate하고 INSERT
       - APPEND : 기존 데이타의 다음부터 추가
       - INSERT 비어있는 테이블에 넣을때 사용(최초 사용시 사용)

 

ex)

LOAD DATA
    INFILE test.csv
    INTO TABLE TEST
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(TEST1, TEST2, TEST3)

 

test.csv 의 내용

1,2,3

3,4,5

6,7,8

 

결과 적으로 사용하는 방법은

 

1. test.ctl 이라는 파일을 만듭니다.

2. test.ctl 파일에는 위의 LOAD DATA 쿼리가 들어가게 됩니다.

3. 데이터 파일을 위치 시킵니다.( 위의 예로 test.csv 파일을 가리킵니다. )

4. sqlldr 명령어를 사용합니다.

$ sqlldr  아이디/패스워드@SID control=컨트롤파일(test.ctl) data=데이터파일(test.csv)

 

위의 방식대로 하시면 손쉽게 대량의 데이터를 오라클 DB에 insert 하실수 있으실것입니다.

 

저는 test.ctl 파일과 test.csv 파일을 같은 디렉토리에 위치시키고 실행하였습니다.

 

그럼 손쉬운 오라클 insert 가 되었으면 합니다.

 

Reference URL

http://www.cyworld.com/exodus_youngsik/196484

반응형

+ Recent posts