본문 바로가기
DataBase/MS-SQL

[MS-SQL] 임시 테이블을 생성하고 활용하자

by 너울림 2018. 1. 3.

임시 테이블을 생성하고 활용하자

 

임시 테이블 생성하고 활용하자

 


포스팅 개요


오늘 포스팅에서는 실제로 존재하는 테이블이 아니라 임시로 사용할 테이블을 생성하고 삭제하는 예제 쿼리문입니다. 접속한 세션별로 생성되기 때문에 같은 임시 테이블 명을 쓰더라도 공유가 불가능하며 실제 대용량 쿼리에서 괜찮은 퍼포먼스를 보여주기 때문에 쿼리 비용절감에 유리합니다. 단, 상황에 따라서 테이블 변수 등 다른 방법도 존재하니 기회가 되면 따로 포스팅해보겠습니다.

  • 임시 테이블은 이름 앞에 #또는 ##기호를 붙여서 구별합니다. #(세션 적용) ##(전역 적용)
  • 임시 테이블은 사용을 다하면 삭제하는 것이 좋습니다.

 


예제 쿼리

 

  • 아래 쿼리문에서 Table_Name단어를 원하는 임시 테이블 이름으로 변경한다.
--이전 임시테이블이 존재하는 경우 삭제 
IF OBJECT_ID('tempdb..#Table_Name') IS NOT NULL DROP TABLE #Table_Name  
    
--임시테이블 생성 
CREATE TABLE #Table_Name(
	A01     VARCHAR(50),
	A02     VARCHAR(50),
	A03     DECIMAL(15, 2),
	A04     INT)  
	
--사용 예) 
INSERT INTO #Table_Name(A01, A02, A03, A04)VALUES('A01', 'A02', '3.3', '4')  
SELECT * FROM #Table_Name  

--사용이 끝난 임시테이블 삭제 
IF OBJECT_ID('tempdb..#Table_Name') IS NOT NULL  DROP TABLE #Table_Name

실행 결과

 

  • 마지막에 DROP TABLE으로 지워주는 것을 잊으면 안 됩니다

간단한 구조 대비 훌륭한 성능

댓글