인공지능/SQL

오라클 SQL - External Table 연습

해피밀세트 2020. 2. 11. 23:39
반응형

 

External Table

: data database 바깥쪽(OS) 두고 마치 database 저장된 data처럼 다루는 기능

 


1. 디렉토리 설정

 

{ SYS SESSION }

1) 논리적인 디렉토리 생성 - SYS SESSION에서만 가능

물리적인 디렉토리 : C:\Data\

논리적인 디렉토리 : data_dir

 

# 논리적인 디렉토리 만들기

create directory data_dir as 'C:\Data\';

select * from dba_directories; --확인

 

# 디렉토리 삭제하려면drop directory data_dir;

 

2)  논리적 디렉토리를 사용할 있는 권한 부여

# 권한 부여하기

grant read, write on directory data_dir to hr;

select * from dba_tab_privs where grantee = 'HR';

 

# 권한 회수하려면

revoke read, write on directory data_dir to hr;

 


 

2. CSV 파일 만들기

 

1) [도구] - [데이터 베이스 익스포트]를 누른다.

 

2) 파일 형식과 디렉토리 등을 설정한다.

 

3) 원하는 객체 유형을 선택한다.

 

4) 원하는 테이블 및 컬럼을 선택한다.

 

5) 지정한 디렉토리에 들어가보면 .csv 파일이 만들어진 것을 확인할 수 있다.

 

 


 

3. Extenal Table 만들기

 

{ HR SESSION }

# 테이블 권한 확인

select * from user_tab_privs; 

# 혹시 모르니까 만드려는 이름의 테이블 삭제

drop table empxt;

 

# External Table 생성

create table empxt(

id number, name varchar2(30), hire_date date, sal number, dept_id number

)

organization external

(type oracle_loader

 default directory data_dir

 access parameters

(records delimited by newline

 badfile 'empxt.bad'

 logfile 'empxt.log'

 fields terminated by ','

 missing field values are null

(id, name, hire_date char date_format date mask "yyyy-mm-dd",

 sal, dept_id))

 location('emp.csv'))

 reject limit unlimited;

 

# 테이블 확인 

select * from empxt;

 

 

# 각 구문에 대한 설명입니다.

반응형