[오라클] DDL #임시테이블 , 가상컬럼

 

GLOBAL TEMPORARY TABLE ( 임시 테이블 ) 사용 목적

- 데이터베이스에 저장할 목적이 아닌 임시 작업용 데이터를 저장하기 위해 사용

- 데이터는 영구적이지 않고 임시로 사용

- 트랜잭션 처리를 하는 순간 값들이 사라진다.

 

임시테이블 생성 문법

 

CREATE GLOBAL TEMPORARY TABLE TEMP01(
NO NUMBER,
NAME VARCHAR2(10))
ON COMMIT [DELETE | PRESERVE] ROWS ;

 

TEMP01 이라는 임시테이블을 만들엇다. 옵션은 ON COMMIT 뒤에 DELETE, PRESERVE가 붙게 되는데

DELETE 를 주면 COMMIT 시 데이터가 삭제되고 PRESERVE를  사용하면 삭제되지 않는다.

테이블에 아무 값이나 입력 해주고 각각 옵션을 사용해보면 확인할 수 있다.

 

 

가상 컬럼

11G 부터 추가된 기능

데이터 베이스에 저장되지 않고 메모리에서 실행됨

사용 목적은 컬럼끼리의 값 연산 혹은 함수를 이용해 연산을 할 때 사용한다.

 

문법 및 사용 예제

//가상컬럼 생성 
CREATE TABLE VT1(
NAME NVARCHAR2(10),
SAL NUMBER,
BONUS NUMBER,
TOTAL_SAL NUMBER GENERATED ALWAYS AS((SAL*12) + BONUS));

//컬럼에 값넣기
INSERT INTO VT1 (NAME,SAL,BONUS)VALUES('LEE',300,100);

//확인
SELECT * FROM VT1;
1. VT1 테이블에 NAME,SAL,BONUS,TOTAL_SAL 4개의 컬럼 생성 

2. TOTAL_SAL은 가상 컬럼으로 지정해주고 SAL*12 + BONUS의 값으로 생성

3. INSERT로 값을 삽입할때 가상컬럼에는 직접 삽입 할 수 없다. 

 

 

 

 

댓글

Designed by JB FACTORY