본문 바로가기

나 취준생/SQL

SQL - 임시 테이블 생성

320x100

임시 테이블 생성하기 ( create temporary table)


** 데이터를 영구히 database에 저장하는 게 아니라 임시로 저장하는 테이블


데이터 중에서 영구히 저장할 필요는 없고, 잠깐 테스트를 위해서 볼 데이터라던가

현재만 필요하고 나중에는 필요하지 않은 데이터가 있는데

그 데이터를 잠깐 저장할 때 사용하는 테이블이 임시 테이블.


* 임시 테이블의 종류 2가지


1. on commit delete rows 옵션 : 데이터를 commit 할 때 까지만 보관

2. on commit preserve rows 옵션 : 데이터를 접속한 유저가 로그아웃할때까지만 보관


예제 :

create global temporary table emp700

( empno number(10),

  ename varchar2(10),

  sal       number(10) )

  on commit delete rows;     <-- 임시 테이블 생성


insert into emp700

 select empno, ename, sal

  from emp;                       <-- emp 테이블 값을 임시 테이블에 전부 입력


select * from emp700;




commit;


commit 한 뒤 확인해보면,


select * from emp700;




사라져있다.


예제 2 :

create global temporary table emp800

( empno number(10),

  ename varchar2(10),

  sal       number(10) )

  on commit preserve rows;


insert into emp800

 select empno, ename, sal

  from emp;


select * from emp800;

commit;


commit 한 뒤 확인해보면,


select * from emp800;


이번에는 안 사라져있다.


그러면 이 임시 테이블은 언제 사라지나?


로그아웃하고 재접속하면 사라진다.


exit <-- 로그 아웃하고

sqlplus "/as sysdba" <-- 관리자로 접속하고,

select * from emp800; <-- 조회해보면, 데이터가 사라져있다.

반응형

'나 취준생 > SQL' 카테고리의 다른 글

SQL - 인덱스  (0) 2020.11.10
SQL - 뷰  (0) 2020.11.10
SQL - 구구단 출력하기  (0) 2020.11.10
SQL - 치환 변수 (&)  (0) 2020.11.10
SQL - 테이블 생성  (0) 2020.11.09