2장 스키마 객체 관리
SQL 심화2017. 9. 7. 03:16
■ 어제 배운내용 정리
- 고급 SQL 과정 1장 , DCL 문( GRANT, REVOKE)
- 객체 권한, 시스템 권한
시스템 권한 : SELECT ANY TABLE 권한
DB의 어느 테이블이든 다 조회 할 수 있다.
- ROLE (CONNECT, RESOURCE, DBA롤)
- FLASHBACK 기술
- FLASHBACK QUERY
- FLASHBACK TABLE
- EXTERBAL TABLE
외부의 TEXT, EXCEL 파일의 DATA를 DB에 INSERT 하지 않고
파일에 링크만 걸어서 바로 SELECT 할 수 있게 한 테이블
국민은행 ----------------------> 외환은행
이체내역 엑셀 전달
생성된 DIRECTORY를 확인하는 방법
SELECT * FROM DBA_DIRECTORIES;
생성된 DIRECTORY를 삭제하는 방법
DROP DIRECTORY EMP_DIR;
SQL> create table ext_emp
(emp_id number(3),
emp_name varchar2(10),
hiredate date)
--- 일반 테이블 생성 문법과 같다.
organization external
-- external table 을 생성하겠다.
* 우리가 기존에 만들었던 테이블은 heap table 이라고 한다.
(type oracle_loader ---- external table 이 외부의 data를 불러올때 사용하는
SQL*loader 로 하겠다 (text ---> table)
default directory emp_dir --- 위에서 만들었던 디렉토리 이름을 명시한다.
access parameters --- text 파일에 대한 문법설명
(records delimited by newline
fields terminated by "," --- 컬럼과 컬럼의 구분은 , 이다.
(emp_name char, --- emp_ename 은 char 형식이다.
emp_id char, --- emp_id는 char 형식이다.
hiredate date "yyyy/mm/dd") )
location ('emp1.txt') );
|
확장자 보이기로 해야 한다. emp1.txt.txt가 될 수 있음 |
문제413. ext_emp와 emp 테이블을 조인해서 아래의 결과를 출력하시오 ! ( ename 으로 조인하시오 )
select * from ext_emp, EMP
where emp_name = ename;
- EXTERNAL TABLE의 제약사항
- 인덱스가 안걸린다
- DML 작업이 안된다.
문제414.EXT_EMP 테이브렝 EMP_ID에 인덱스를 생서하시오!
CREATE INDEX EXT_EMP EXT_EMP_EMP_ID
ON EXT_EMP(EMP_ID);
문제415. EXT_EMP 테이블의 데이터를 DELETE로 전부 지워보시오
DELETE FROM EXT_EMP;
문제416. EXTERNAL TABLE 을 생성하는 작업을 수행하시오!
- SQL gate에서 dept 테이블을 쿼리하고 결과를 csv로 저장하시오
(이름 : dept.txt)
- dept1.txt.를 엑세스 하기 위한 external 테이블을 생성하시오
(이름 : dept_ext)
문제417. 점심시간 문제. 우리반 (emp2) 테이블을 external 테이블로 생성하시오
- emp2.csv 로 파일을 생성한다.
- emp2_ext 로 external table을 생성한다.
create table emp2_ext
( EMPNO NUMBER(10),
ENAME VARCHAR2(30),
AGE NUMBER(10),
BIRTH DATE,
MAJOR VARCHAR2(50),
EMAIL VARCHAR2(40),
MOBILE VARCHAR2(20),
ADDRESS VARCHAR2(100),
TELECOM VARCHAR2(10))
organization external
(type oracle_loader
default directory emp_dir
access parameters
(records delimited by newline
fields terminated by ","
( EMPNO char,
ENAME char,
AGE char,
BIRTH DATE "rrrr/mm/dd",
MAJOR char,
EMAIL char,
MOBILE char,
ADDRESS char,
TELECOM char ))
location ('emp2.csv') );
'SQL 심화' 카테고리의 다른 글
6장. 서브쿼리에서의 데이터 검색 (0) | 2017.09.07 |
---|---|
5장. 다른 시간대에서의 데이터 관리 (0) | 2017.09.07 |
4장 대형 데이터 집합 조작 (0) | 2017.09.07 |
3장 데이터 딕셔너리를 통해서 객체 관리 (0) | 2017.09.07 |
1장 유저 엑세스 제어 (0) | 2017.09.07 |