# 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