연습용 테이블 생성
SQL>CREATE TABLE DEPT_TEST(
DEPTNO NUMBER NOT NULL,
DNAME VARCHAR2(14),
LOC VARCHAR2(13))
테이블이 생성되었습니다.
SQL>CREATE TABLE EMP_TEST(
EMPNO NUMBER NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
D0EPTNO NUMBER(2))
테이블이 생성되었습니다.
제어파일에 데이터가 들어가 있는 경우
- DEPT_TEST 테이블에 insert하는 예제 입니다.
- 각 데이터의 레코드의 필드를 ','로 구분을 했습니다
============== dept_test.ctl 시작 ==============
LOAD DATA
INFILE *
INTO TABLE DEPT_TEST
FIELDS TERMINATED BY ','
(DEPTNO, DNAME, LOC)
BEGINDATA -- 데이터 시작을 알림
12,RESEARCH,SARATOGA
10,ACCOUNTING,CLEVELAND
11,ART,SALEM
13,FINANCE,BOSTON
21,SALES,PHILA
22,SALES,ROCHESTER
42,"INT'L","SAN FRAN"
============== dept_test.ctl 끝 ==============
- 위 부분을 dept_test.ctl파일로 저장을 합니다.
- SQL*Loader을 실행 시킵니다.
C:\>sqlldr userid=scott/tiger control='C:\dept_test.ctl'
SQL*Loader: Release 8.1.6.0.0 - Production on 일 Dec 16 11:59:16 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
커밋 시점에 도달 - 논리 레코드 개수 6
커밋 시점에 도달 - 논리 레코드 개수 7
- 데이터가 INSERT 되었는지 확인 합니다.
- dept_test.log파일이 생겼는지 확인해 봅니다.
C:\>SQLPLUS scott/tiger
SQL>SELECT * FROM dept_test;
DEPTNO DNAME LOC
------- -------------- -----------
12 RESEARCH SARATOGA
10 ACCOUNTING CLEVELAND
11 ART SALEM
13 FINANCE BOSTON
21 SALES PHILA
22 SALES ROCHESTER
42 "INT'L" "SAN FRAN"
제어파일과 데이터 파일이 분리된 경우
- Control File 부분은 dept.ctl로 저장 합니다.
- Data File 부분은 dept.dat로 저장을 합니다.
------------ dept.ctl 시작 ------------
LOAD DATA
INFILE 'dept.dat' -- Data File을 지정 합니다.
APPEND -- 기존에 데이터에 새로운 데이터를 추가 합니다.
INTO TABLE DEPT_TEST
FIELDS TERMINATED BY ','
(DEPTNO, DNAME, LOC)
------------ dept.ctl 끝 ------------
------------ dept.dat 시작 ------------
50,ACCOUNTING,NEW_YORK
60,RESEARCH,DALLAS
70,OPERATIONS,BOSTON
------------ dept.dat 시작 ------------
- SQL*Loader을 실행 시킵니다.
C:\>sqlldr userid=scott/tiger control='C:\dept.ctl'
SQL*Loader: Release 8.1.6.0.0 - Production on 일 Dec 16 12:08:26 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
커밋 시점에 도달 - 논리 레코드 개수 2
커밋 시점에 도달 - 논리 레코드 개수 3
- 데이터가 INSERT 되었는지 확인 합니다.
- 기존에 데이터에 새로운 데이터가 추가 된 것을 확인 할 수 있습니다.
SQL> SELECT * FROM dept_test;
DEPTNO DNAME LOC
---------- -------------- ------------
12 RESEARCH SARATOGA
10 ACCOUNTING CLEVELAND
11 ART SALEM
13 FINANCE BOSTON
21 SALES PHILA
22 SALES ROCHESTER
42 "INT'L" "SAN FRAN"
50 ACCOUNTING NEW_YORK
60 RESEARCH DALLAS
70 OPERATIONS BOSTON
10 개의 행이 선택되었습니다.
SQL*Loader의 다른 사용법은 아래 링크를 참조해 보세용.
http://www.oracle.co.kr/support/web_supports/rcnote/rcnote103/rn103_utl_02.html
'DataBase > Oracle' 카테고리의 다른 글
SQL*Loader에 사용되는 파일들 (0) | 2008.08.08 |
---|---|
SQL*Loader란? (0) | 2008.08.08 |
NVL2 함수의 사용 (0) | 2008.08.08 |
LONG TYPE을 LOB TYPE으로 CONVERSION하는 방법(TO_LOB) (0) | 2008.08.08 |
[펌]LIKE연산자에서 '%'와 '_'를 포함하는 단어 검색 방법 (0) | 2008.08.08 |