임시테이블이란?

말 그대로 tempdb에 임시적으로 만들어지는 Table로서 특징에 따라 지역임시Table 전역임시Table 두가지로 나눌 수 있습니다.

 

지역임시Table은 Table이 생성되는 Session이 끝나면 자동으로 삭제됨니다. 예를들어 Procedure내에서 지역임시Table이 생성되었을때 해당 Procedure가 종료되면 Drop Table을 사용하지 않더라도 자동으로 삭제되는 것입니다.

 

반면 전역임시 Table은 Table을 사용(참조)하고 있는 모든 작업이 종료되어야만 삭제되는 특징을 가지고 있습니다. 활용되는 범위로 따진다면 전역임시Table이 더 큰 범위를 안고 있는 것입니다.

 

임시Table을 생성하려면 Table생성시 이름앞에 #을 추가함으로써 이 Table이 임시Table임을 알려줘야 합니다.(#이 하나 쓰이면 지역임시Table, #이 두개(##)가 쓰이면 전역임시Table이 됩니다.)

 

Table변수

Meory상에 일시적으로 생성되는 Table Query가 실행되는 Session안에서만 유효하며 일반 변수와 같습니다. 또한 Table변수는 Primary Key, Null, Check 이 세가지 제약조건만 허락하며 Table변수선언시 사용자 데이터형식은 사용할 수 없습니다.

 

세션이 끝나면 자동으로 삭제됨, 쿼리의 복잡성을 낮추고, 속도 개선에 많은 도움이 됨.

 

테이블 변수 사용 구문

DECLARE @[변수명] TABLE (
    [컬럼명 1] [컬럼 타입] [NULL 여부],
     .
     .
      .
)
복사했습니다!