Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

Oracle 외부 테이블 사용

외부 테이블은 데이터베이스 외부에 저장된 플랫 파일에서 데이터를 수신하고 Oracle®이 해당 파일의 데이터를 쿼리할 수 있도록 합니다.

소개

Oracle은 SQL*Loader에서 지원하는 모든 파일 형식을 구문 분석할 수 있습니다. 외부 테이블에서는 DML(데이터 조작 언어)을 사용할 수 없지만 쿼리, 조인 및 정렬 작업에는 DML을 사용할 수 있습니다. 외부 테이블에 대해 보기 및 동의어를 생성할 수도 있습니다.

외부 테이블 기능을 활용하려면 ORACLE_LOADER액세스 드라이버를 사용하고 데이터 파일이 텍스트 형식인지 확인해야 합니다. 또한 SQL(Structured Query Language)을 이해해야 외부 테이블을 생성하고 이에 대해 쿼리를 수행할 수 있습니다.

오라클 데이터베이스에서 외부 테이블 만들기

Oracle 로더를 사용하여 외부 테이블을 생성하려면 다음 단계를 수행하십시오.

디렉토리 생성

다음 코드를 사용하여 사용자가 제공한 쉼표로 구분된 값(CSV) 또는 텍스트 파일의 위치를 ​​가리키는 디렉터리를 만듭니다.

create directory vk_dir as '/opt/oracle/app/admin/je1prd/mods/151214_CHG0004529';

외부 테이블 생성

다음 SQL을 사용하여 외부 테이블을 생성합니다.

create table kumarv5.VK_4529_ext
(
  IBMCU   NCHAR(12),
  IBLITM   NCHAR(25),
  IBANPL   NUMBER
)
organization external
(
   type oracle_loader
   default directory vk_dir
   access parameters
   (
     records delimited by newline
     logfile vk_dir:'VK_4529_ext.log'
     badfile vk_dir:'VK_4529_ext.bad'
     discardfile vk_dir:'VK_4529_ext.dcf'
     skip 1
     fields
     terminated by '~'
     missing field values are null
     reject rows with all null fields
     (
       IBMCU,
       IBLITM,
       IBANPL
     )
   )
   location
   (
     'data14.csv'
   )
)
reject limit unlimited;

로컬 테이블 생성

외부 테이블에서는 DML을 수행할 수 없으므로 다음 코드를 사용하여 외부 테이블을 기반으로 로컬 테이블을 생성합니다.

--create
create table kumarv5.VK_4529_int
(
  IBMCU   NCHAR(12),
  IBLITM   NCHAR(25),
  IBANPL   NUMBER
)
tablespace proddtat;

외부에서 로컬 테이블로 데이터 복사

다음 코드를 사용하여 외부에서 로컬 테이블로 데이터를 복사합니다.

--insert
Insert into kumarv5.VK_4529_int   select * from kumarv5.VK_4529_ext;
commit;
select count(*) from kumarv5.VK_4529_int;

기본 프로덕션 테이블 업데이트

외부 테이블을 기반으로 로컬 테이블을 생성한 후 다음 코드를 사용하여 로컬 테이블에서 기본 프로덕션 테이블을 업데이트할 수 있습니다.

update PRODDTA.F43090 a
    set a.PCMCU='         1AM'
    WHERE (a. IBMCU, a. IBLITM, a. IBANPL) in
       (select b. IBMCU, b. IBLITM, b. IBANPL from kumarv5.VK_4529_int b );

외부 테이블에서 일반 테이블로 데이터 로드

다음 이미지는 외부 테이블에서 일반 테이블로 데이터를 로드하는 방법을 보여줍니다.

Oracle 외부 테이블 사용

이미지 소스 :https://dba.fyicenter.com/faq/oracle/Load-Data-from-External-Tables.html

결론

외부 테이블을 사용하면 마치 데이터베이스의 테이블에 있는 것처럼 외부 소스의 데이터에 액세스할 수 있습니다. 사용자가 스프레드시트 또는 CSV 형식으로 데이터를 제공하고 Excel 시트를 기반으로 데이터베이스 테이블을 업데이트해야 하는 경우 외부 테이블이 유용합니다.

피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 지금 채팅을 시작하여 대화를 시작할 수도 있습니다.

데이터베이스에 대해 자세히 알아보십시오.