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;
# 각 구문에 대한 설명입니다.
'컴퓨터 > SQL' 카테고리의 다른 글
오라클 SQL - 뷰(VIEW) 사용하기 (0) | 2020.02.13 |
---|---|
오라클 SQL - CMD에서 CSV파일 만들기 (0) | 2020.02.12 |
다중 테이블 INSERT (0) | 2020.02.11 |
제약조건 : Primary, Foreign, Unique, Check, Not null Key (0) | 2020.02.10 |
Fedora 30 workstation iso 설치 방법 (0) | 2020.02.06 |