1. 대량 입력할 테이블을 미리 만들어 놓는다.
2. 대량 입력할 데이터를 첫번째 ROW에 컬럼명이 없이, 순수 데이터로 구성된 CSV 혹은 텍스트 파일을 준비한다.(ANSI로 저장), 그리고 마지막에 Dummy컬럼을 추가한다.
3. 테이블 생성, 한글명 컬럼은 '"'(쌍따옴표)로 감싸면 된다.
CREATE TABLE 테이블명
(필드1 VARCHAR2(1000 CHAR)
,필드2 VARCHAR2(1000 CHAR)
,필드3 VARCHAR2(1000 CHAR)
,필드4 VARCHAR2(1000 CHAR)
,필드5 VARCHAR2(1000 CHAR)
);
4. control 파일을 만든다.(ANSI로 저장), 한글명 컬럼은 '"'(쌍따옴표)로 감싸면 된다. -> 텝구분으로 하는게 잘된다.
LOAD DATA
INFILE 'CSV 파일.txt'
APPEND INTO TABLE 테이블명
FIELDS TERMINATED BY ','
(필드1 CHAR(1000)
,필드2 CHAR(1000)
,필드3 CHAR(1000)
,필드4 CHAR(1000)
,필드5 CHAR(1000)
)
-- 텝으로 구분시 : FIELDS TERMINATED BY X'09', FILEDS TERMINATED BY WHITESPACE
LOAD DATA
INFILE 'CSV 파일.txt'
APPEND INTO TABLE 테이블명
FIELDS TERMINATED BY X'09'
(필드1 CHAR(1000)
,필드2 CHAR(1000)
,필드3 CHAR(1000)
,필드4 CHAR(1000)
,필드5 CHAR(1000)
)
5. CMD에서 sqlldr실행
sqlldr 계정/암호@TNSNAME control=컨트롤파일.ctl log=로그파일.log