* Youtube Link - https://www.youtube.com/watch?v=0RlRnjds4Co&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=21
8.1.3 임시 테이블
메모리상에 생성되기 때문에 속도가 빠르다.
- 기본형식
CREATE GLOBAL TEMPORARY TABLE 테이블 이름
(열 정의...)
[ON COMMIT DELETE ROWS 또는 ON COMMIT PRESERVE ROWS]
- 내용
ON COMMIT DELETE ROWS : 커밋하면 테이블이 삭제된다. (디폴트 옵션)
ON COMMIT PRESERVE ROWS: 세션이 종료되면(DB연결이 종료되면) 테이블은 삭제된다.
tempTBL 임시 테이블을 생성 완료하였다.
tempTBL이 로컬-tableDB 커넥션(Session)의 tableDB 사용자(스키마) 에 생성된 것을 볼 수 있다.
COMMIT을 통해서 데이터를 확정하니
임시 테이블의 데이터가 날아가버렸다.
디폴트 옵션이 ON COMMIT DELETE ROWS; 이기 때문이다.
ON COMMIT PRESERVE ROWS
ON COMMIT PRESERVE ROWS로 생성된 임시 테이블은
다른 세션에서도 접속이 가능하다.
하지만 세션이 종료되면 임시 테이블의 데이터는 삭제된다.
로컬-tableDB와 로컬-tableDB~2 는 다른 세션이다.
하지만 각각의 세션에서 임시 테이블 tempTBL2는 조회가 된다.
하지만
다음과 같이 임시 테이블은 남아 있지만
데이터는 삭제된 것을 볼 수 있다.
테이블 삭제
감사합니다.
'Oracle' 카테고리의 다른 글
[이것이 오라클이다] 08장 4교시: [Oracle] 뷰, 구체화된 뷰 (3) | 2024.11.06 |
---|---|
[SQLD] 최신 기출문제 2회 (11~20) (3) | 2024.11.06 |
[이것이 오라클이다] 08장 2교시: [Oracle] 제약 조건 (2) | 2024.11.05 |
[이것이 오라클이다] 08장 1교시: [Oracle] 테이블 생성 (SQL Developer 및 SQL문) (3) | 2024.11.05 |
[이것이 오라클이다] 07장 4교시: [Oracle] PL/SQL 프로그래밍, 예외 처리, 동적 SQL (2) | 2024.11.04 |