본문 바로가기
DataBase

[SQL]임시 테이블

by 바까 2021. 9. 25.
반응형
--임시테이블
임시테이블은 db 접속 세션의 활동 기간동안 존재하는 테이블이다.
세션이 종료되면 임시 테이블은 자동으로 소멸된다.


--실습준비
DROP TABLE TB_CUST_TEMP_TEST;
--임시테이블 생성
CREATE TEMP TABLE TB_CUST_TEMP_TEST(CUST_ID INT);

SELECT * FROM TB_CUST_TEMP_TEST;
INSERT INTO TB_CUST_TEMP_TEST VALUES (1); --데이터 존재함

--세션 재접속 후
SELECT * FROM TB_CUST_TEMP_TEST; --데이터 존재하지 않음

SQL Error [42P01]: 오류: "tb_cust_temp_test" 이름의 릴레이션(relation)이 없습니다
  Position: 15

--기존에 존재하는 테이블과 같은 이름으로 임시 테이블 생성 후 임시 테이블 제거
DROP TABLE TB_CUST_TEMP_TEST; --우선 임시테이블 제거

--일반 테이블 생성
CREATE TABLE TB_CUST_TEMP_TEST(CUST_ID SERIAL PRIMARY KEY, CUST_NM VARCHAR NOT NULL);
SELECT * FROM TB_CUST_TEMP_TEST; 

--기존에 존재하는 테이블과 이름이 같은 임시 테이블 생성
CREATE TEMP TABLE TB_CUST_TEMP_TEST(CUST_ID INT);
SELECT * FROM TB_CUST_TEMP_TEST; -->해당 이름을 임시테이블로 인식함

--테이블 제거
DROP TABLE TB_CUST_TEMP_TEST;
SELECT * FROM TB_CUST_TEMP_TEST; --해당 이름을 일반 테이블로 인식

--다시 테이블과 임시테이블을 같은 이름으로 만든 후 
--세션 재접속을 하여 조회하면 임시테이블은 없어지고 일반테이블만 조회됨
SELECT * FROM TB_CUST_TEMP_TEST;
반응형

'DataBase' 카테고리의 다른 글

[sqld 자격증]제로베이스 SQL 온라인 완주반 수강 후기  (0) 2021.10.18
[SQL]TRUNCATE  (0) 2021.09.25
[SQL]테이블 제거  (0) 2021.09.25
[SQL]컬럼 이름 변경  (0) 2021.09.25
[SQL]컬럼 데이터 타입 변경  (0) 2021.09.25

댓글