ORACLE의 TOOL들
SQL*LOADER : CONTROL FILE과 DATAFILE을 들어갈건 LOADER에 올리고 나쁜건 BAD FILE 나 DISCARD FILE 로 빠진다.
예제로 활용할 파일
C:\>SQLLDR
C:\>COPY C:\oracle\ora92\rdbms\demo\ulcase1.* C:\
C:\oracle\ora92\rdbms\demo\ulcase1.ctl
C:\oracle\ora92\rdbms\demo\ulcase1.sql
2개 파일이 복사되었습니다.
C:\>notepad ulcase1.ctl
-- Copyright (c) 1991 by Oracle Corporation
-- NAME
-- ulcase2.ctl - <one-line expansion of the name>
-- DESCRIPTION
-- <short description of component this file declares/defines>
-- RETURNS
--
-- NOTES
-- <other useful comments, qualifications, etc.>
-- MODIFIED (MM/DD/YY)
-- ksudarsh 04/08/94 - merge changes from branch 1.3.710.1
-- ksudarsh 02/21/94 - quote dat file
-- ksudarsh 03/11/93 - make filename lowercase
-- ksudarsh 11/06/92 - infile is ulcase2
-- cheigham 08/28/91 - Creation
--
-- $Header: ulcase2.ctl,v 1.4 1994/04/08 13:42:44 ksudarsh Exp $ case2.ctl
--
LOAD DATA
INFILE 'ulcase2.dat'
INTO TABLE EMP
( EMPNO POSITION(01:04) INTEGER EXTERNAL,
ENAME POSITION(06:15) CHAR,
JOB POSITION(17:25) CHAR,
MGR POSITION(27:30) INTEGER EXTERNAL,
SAL POSITION(32:39) DECIMAL EXTERNAL,
COMM POSITION(41:48) DECIMAL EXTERNAL,
DEPTNO POSITION(50:51) INTEGER EXTERNAL)
새로운창띄운다.(2번)
SQL> @C:ULCASE1.SQL
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production에서 분리되었습니다.
C:\>SQLPLUS SCOTT/TIGER
SQL*Plus: Release 9.2.0.1.0 - Production on 수 Jul 2 16:34:16 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
다음에 접속됨:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> SELECT * FROM EMP;
선택된 레코드가 없습니다.
SQL>
C:\oracle\ora92\rdbms\demo\ULCASE1.CTL (EDITPLUS로 오픈)
LOAD DATA
INFILE * : *은 DATAFILE 위치 CONTROL FILE내에 포함
INTO TABLE DEPT
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED 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"
3번째 창 띄우고 실행
C:\>SQLLDR USERID=SCOTT/TIGER CONTROL=C:\ULCASE1.CTL
SQL*Loader: Release 9.2.0.1.0 - Production on 수 Jul 2 16:39:35 200
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
커밋 시점에 도달 - 논리 레코드 개수 7
C:\>
2번째 창 실행
SQL> SELECT * FROM DEPT;
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
7 개의 행이 선택되었습니다.
-------------------------------------------------------------------------------------------
C:\>COPY C:\oracle\ora92\rdbms\demo\ulcase2.* C:\
C:\oracle\ora92\rdbms\demo\ulcase2.ctl
C:\oracle\ora92\rdbms\demo\ulcase2.dat
2개 파일이 복사되었습니다.
C:\>
-- Copyright (c) 1991 by Oracle Corporation
-- NAME
-- ulcase2.ctl - <one-line expansion of the name>
-- DESCRIPTION
-- <short description of component this file declares/defines>
-- RETURNS
--
-- NOTES
-- <other useful comments, qualifications, etc.>
-- MODIFIED (MM/DD/YY)
-- ksudarsh 04/08/94 - merge changes from branch 1.3.710.1
-- ksudarsh 02/21/94 - quote dat file
-- ksudarsh 03/11/93 - make filename lowercase
-- ksudarsh 11/06/92 - infile is ulcase2
-- cheigham 08/28/91 - Creation
--
-- $Header: ulcase2.ctl,v 1.4 1994/04/08 13:42:44 ksudarsh Exp $ case2.ctl
--
LOAD DATA
INFILE 'C:\ulcase2.dat'
INTO TABLE EMP
( EMPNO POSITION(01:04) INTEGER EXTERNAL, (출력번호에 1번째 부터 4번째 까지 넣겟다)
ENAME POSITION(06:15) CHAR,
JOB POSITION(17:25) CHAR,
MGR POSITION(27:30) INTEGER EXTERNAL,
SAL POSITION(32:39) DECIMAL EXTERNAL,
COMM POSITION(41:48) DECIMAL EXTERNAL,
DEPTNO POSITION(50:51) INTEGER EXTERNAL)
C:\>SQLLDR USERID=SCOTT/TIGER CONTROL=C:\ULCASE2.CTL
SQL*Loader: Release 9.2.0.1.0 - Production on 수 Jul 2 16:49:34 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
커밋 시점에 도달 - 논리 레코드 개수 7
C:\>
-----------------------------------------------------
우편번호 INSERT
SQL> SHOW USER
USER은 "SCOTT"입니다
SQL> CREATE TABLE POST
2 (ZIPCODE VARCHAR2(6),
3 NO VARCHAR2(3),
4 DO VARCHAR2(20),
5 CITY VARCHAR2(20));
테이블이 생성되었습니다.
SQL>
-- Copyright (c) 1991 by Oracle Corporation
-- NAME
-- ulcase1.ctl - <one-line expansion of the name>
-- DESCRIPTION
-- <short description of component this file declares/defines>
-- RETURNS
--
-- NOTES
-- <other useful comments, qualifications, etc.>
-- MODIFIED (MM/DD/YY)
-- cheigham 08/28/91 - Creation
--
-- $Header: ulcase1.ctl,v 1.1 1991/09/02 14:50:39 CHEIGHAM Stab $ case1.ctl
--
LOAD DATA
INFILE 'C:\20080627.CSV'
INTO TABLE POST
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(ZIPCODE,NO,DO,CITY)
C:\>SQLLDR USERID=SCOTT/TIGER CONTROL=C:\ULCASE1.CTL
커밋 시점에 도달 - 논리 레코드 개수 49984
커밋 시점에 도달 - 논리 레코드 개수 50048
커밋 시점에 도달 - 논리 레코드 개수 50112
커밋 시점에 도달 - 논리 레코드 개수 50176
커밋 시점에 도달 - 논리 레코드 개수 50240
커밋 시점에 도달 - 논리 레코드 개수 50286
좋은 예제들
'Programing > Oracle' 카테고리의 다른 글
Oracle - Remote (0) | 2008.07.29 |
---|---|
Oracle - Export/Import (0) | 2008.07.29 |
Oracle - 링크 (0) | 2008.07.29 |
oracle-참고 (0) | 2008.07.29 |
Oracle - Listener (0) | 2008.07.29 |