시소당
1. SQL*Loader 를 활용하는 방법
1) 먼저, 적재될 zipcodes 테이블을 DROP 시키고 새로 생성해야 한다.
%sqlplus scott/tiger
SQL> drop table zipcodes cascade constraints;
SQL> create table zipcodes
(
sido VARCHAR2(30),
gu VARCHAR2(30),
dong VARCHAR2(30),
etc1 VARCHAR2(80),
etc2 VARCHAR2(80),
etc3 VARCHAR2(80),
zipcode VARCHAR2(7),
zipcode_old VARCHAR2(7)
);
2) 다음은 데이터 적재와 관련된 정보를 저장하는 컨트롤 파일을 생성해야 합니다.
엑셀인 경우 ==> text 파일로 변환한다.
*소스파일(ulcase1.ctl)
LOAD DATA
INFILE *
INTO TABLE zipcodes insert
FIELDS terminated by ',' optionally enclosed by '"'
(SIDO,GU,DONG,ETC1,ETC2,ETC3,ZIPCODE,ZIPCODE_OLD)
BEGINDATA
내용
서울,강남구,강남우체국사서함,,1,99,135600,135600
서울,강남구,강남우체국사서함,,100,199,135601,135601
서울,강남구,강남우체국사서함,,1000,1099,135610,135610
서울,강남구,강남우체국사서함,,1100,1199,135611,135611
서울,강남구,강남우체국사서함,,1200,1299,135612,135612
서울,강남구,강남우체국사서함,,1300,1399,135613,135613
3) 생성한 커트롤 파일로 데이터를 적재해 봅니다. (일반 경로에 의한 방법)
%SQLLDR control=ulcase1.ctl userid=scott/tiger
NT : SQLLDR , unix : sqlldr
완료
2)번에 대한 설명
LOAD DATA ==> 적재 시작을 알립니다.
INFILE * ==> 적재될 데이타가 파일 내부에 있음을 표시합니다.
INTO TABLE zipcodes insert ==> 적재될 테이블명을 정의합니다.
FIELDS terminated by ',' optionally enclosed by '"' ==> 적재될 데이타가 ,로 구분되어 있음을 의미합니다.
(SIDO,GU,DONG,ETC1,ETC2,ETC3,ZIPCODE,ZIPCODE_OLD) ==> 적재될 테이블의 컬럼을 의미합니다.
BEGINDATA ==> 적재될 데이터의 시작을 알립니다.
서울,강남구,강남우체국사서함,,1,99,135600,135600 ==> 적재될 데이타의 첫번째 행
내용