본문 바로가기
Database/Oracle

[오라클(Oracle) ] 임시 테이블

by Ali1020 2022. 4. 19.

 

[오라클(Oracle) ] 임시 테이블

 

 

 

임시 테이블은 말 그대로 테이블을 임시로 잠시 사용하기 위해 생성하는 테이블이다. 처리와 접근 속도가 굉장히 빠른 특징이 있다.

 

1
2
3
4
5
CREATE GLOBAL TEMPORARY TABLE 테이블명(
칼럼명 테이터타입(크기),
...
...)
    ON COMMIT DELETE ROWS (OR) ON COMMIT PRESERVE ROWS;
 

 

 

생성을 위해 위와 같은 형식으로 SQL을 작성한다. 일반 테이블 생성법이랑 다른 점은 CREATE과 TABLE 사이에 'GLOBAL TEMPORARY'을 넣어주는 점과 마지막 줄에 'ON COMMIT DELETE ROWS' 또는 'ON COMMIT PRESERVE ROWS' 옵션을 적는 것이다. 'ON COMMIT DELETE ROWS'는 COMMIT되는 시점에 데이터가 삭제되고 'ON COMMIT PRESERVE ROWS'는 세션이 종료되는 시점에 데이터가 삭제된다. 기본값은 'ON COMMIT DELETE ROWS'로, 옵션을 생략하면 자동으로 COMMIT 되는 시점에 데이터가 삭제된다. 임시 테이블 삭제를 위해서는 일반 테이블과 동일하게 DROP TABLE 명령어를 사용한다.

 

 

 

 

 

EX)  임시테이블 TEMP_DRINK 생성(ON COMMIT DELETE ROWS 옵션)

 

임시테이블 TEMP_DRINK 생성

 

 

- ON COMMIT DELETE ROWS 옵션에 따라 COMMIT 하면 데이터가 삭제된다.

 

 

 

EX)  임시테이블 TEMP_FOOD 생성(ON COMMIT PRESERVE ROWS 옵션)

 

임시테이블 TEMP_FOOD 생성

 

 

- ON COMMIT PRESERVE ROWS  옵션에 따라 COMMIT해도 데이터가 남아 있다.(세션 종료 시점에서 삭제)

댓글