>>무정한 님께서 쓰시길<<
:: 우선 답변 감사드립니다.
:: 한꺼번에 질문드릴것을 잘못했군요.
::
:: 위의 방법으로 저장된 파일을 다른 머신으로 이동시킨 후
:: 그 파일안의 내용을 동일한 스키마를 가진 테이블로 로드
:: 하려합니다.
::
:: mysql에서는
:: -----------------------------------------------------
:: load data local infile 'filename'
:: into table tablename
:: ( field1, field2, ... );
:: -----------------------------------------------------
:: 이렇게 하면 되는데 오라클에서는 어떤 식으로 하는지 알
:: 고 싶습니다.
::
SQL*LOADER사용
--문법
load data 제어화일의 선두에는 반드시 이 말이 필요합니다.
infile FILENAME 외부화일을 지정합니다.
replace 테이블에 데이타 넣는 방법 지정
into table TABLENAME 데이타를 로드하는 테이블을 지정
fields terminated by ',' 데이타 필드의 종결문자 지정
(a integer external, 테이블의 열, 외부데이타 화일의 데이타 형을 지정
b char)
--replace 외에 다음의 옵션이 가능
replace 테이블의 기존 행을 모두 삭제(delete)하고 인서트
append 새로운 행을 기존의 데이타에 추가
insert 비어 있는 테이블에 넣을 때
truncate 테이블의 기존 데이타를 모두 truncate 하고 인서트
사용방법
/*TABLE생성*/
create table test
(a number,
b varchar2(1)
)
/*test.ctl 콘트롤파일생성*/
load data
infile test.dat
replace
into table test
fields terminated by ','
(a integer external,
b char)
/*test.dat 데이타파일생성*/
1,2
2,4
실행방법
$sqlldr scott/tiger control=test.ctl data=test.dat
주의사항 :unix에탭구분자와 엔터구분자는 window탭구분자와 엔터구분자와 다름
만약 window에서 데이타파일을 생성하고 UNIX에서 FTP등으로 카피했다면
구분자문제가 생길 수 있슴 적절히 변경한 후 사용
|