본문 바로가기

DBMS/SQL Server

[SQL Server] 임시 테이블 생성시 #을 3개이상 붙이면?

 

임시 테이블(Temporary Tables)는 테이블 앞에 # 또는 ##을 붙여 만들게 되며, tempdb 데이터베이스에 저장된다.

임시 테이블은 해당 임시 테이블을 만든 세션이 종료되면 자동으로 제거되며, 복잡한 로직을 처리할 때 중간 결과를 저장하기 위한 목적으로 주로 사용된다.

 

임시 테이블은 지역 임시 테이블(Local Temporary Tables)과 전역 임시 테이블(Global Temporary Tables)로 구성된다.

 

1) 지역 임시 테이블(Local Temporary Tables)

  - 세션 임시 테이블이라고 불리며, 해당 임시 테이블을 만든 세션에서만 사용 가능한 임시 테이블이다.

  - 테이블 이름 앞에 #을 붙여 만든다.

 

2) 전역 임시 테이블(Global Temporary Tables)

  - 만든 세션은 물론 다른 세션에서도 사용 가능한 임시 테이블

  - 테이블 이름 앞에 ##을 붙여 만든다.

 

 -- 지역 임시 테이블 생성

 CREATE TABLE #Local_tmp_tbl (

        col1 int

 )

 

 -- 전역 임시 테이블 생성

 CREATE TABLE ##Gloval_tmp_tbl (

        col1 int

 )

 

 

Q) #을 3개이상 붙여 생성하면?

 

 -- #을 3개이상 붙여 생성하면?

 CREATE TABLE ###tmp_tbl (

        col1 int

 )

 

#을 3개 이상 붙여 생성하게 되면 전역 임시 테이블로 생성된다.

아래의 화면에서 처럼 테이블명 뒤에 _(Under Bar)가 길게 붙어 있는 경우 지역 임시 테이블이다.