[오라클(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 옵션)
- ON COMMIT DELETE ROWS 옵션에 따라 COMMIT 하면 데이터가 삭제된다.
EX) 임시테이블 TEMP_FOOD 생성(ON COMMIT PRESERVE ROWS 옵션)
- ON COMMIT PRESERVE ROWS 옵션에 따라 COMMIT해도 데이터가 남아 있다.(세션 종료 시점에서 삭제)
'Database > Oracle' 카테고리의 다른 글
[오라클(Oracle) ] 인덱스(INDEX) / 인덱스(INDEX) 생성, 삭제, 조회, 리빌드(REBUILD) (0) | 2022.04.22 |
---|---|
[오라클(Oracle) ] 뷰(VIEW) (0) | 2022.04.20 |
[오라클(Oracle) ] 서브쿼리(SUBQUERY) / 다중행 서브쿼리 / 다중칼럼 서브쿼리 / 상호연관 서브쿼리 (0) | 2022.04.19 |
[오라클(Oracle) ] 셀프 조인(SELF JOIN) (0) | 2022.04.17 |
[오라클(Oracle) ] 외부 조인 / OUTER JOIN / ANSI JOIN (0) | 2022.04.17 |
댓글