ORACLE에서 TEXT의 데이터를 테이블에 넣는 방법은 SQL LOADER를 이용하여 FILE의
데이터를 Table에 넣을 수 있고 다른 방법으로는 우리가 흔히 쓰는 TOAD, Orange 기타 TOOL을 이용하여 Text Data를
Table로 넣을 수 있는데 다른 또 하나의 방법은 EXTERNAL Table이다.
우선 DIRECTORY를 만드는데 DBA
권한에서 작업해야 된다.(WINDOW를 기준으로 작업했습니다.) C 밑에 tmp라는 Folder를 Directory로 선언
CREATE DIRECTORY EXT_TAB_DIR AS 'C:\tmp';
GRANT READ, WRITE ON
DIRECTORY EXT_TAB_DIR TO SCOTT;
CREATE TABLE TEST (
EMPLOYEE_NUMBER VARCHAR2(5 BYTE), EMPLOYEE_NAME VARCHAR2(10 BYTE)
) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT
DIRECTORY EXT_TAB_DIR ACCESS PARAMETERS ( RECORDS DELIMITED BY
NEWLINE NOBADFILE NODISCARDFILE NOLOGFILE
SKIP 0 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
AND '"' MISSING FIELD VALUES ARE NULL REJECT ROWS WITH ALL
NULL FIELDS ( EMPLOYEE_NUMBER Char,
EMPLOYEE_NAME Char ENCLOSED BY '"' AND '"' ) ) LOCATION
(EXT_TAB_DIR:'EMP.dat') ) REJECT LIMIT UNLIMITED NOPARALLEL
NOMONITORING;
External Table 만든 후에 C:\tmp\EMP.dat File을 만든다.
내용은 11001,한덕수 11002,김경환 11003,차일권 을 EMP.dat File에 넣어 주고
SELECT * FROM TEST;
바로 DATA가 나온다. 이번에는 11004,백일섭
File에 추가해서 다시 table select 하면 바로 추가 된다. File의 데이터를 바로 끌어 오는것이다. 한 번
사용해 보시길... 감사합니다.
|
댓글 없음:
댓글 쓰기