반응형
MSSQL의 임시테이블에 대하여 알아보겠습니다. 이전포스팅한부분(sosopro.tistory.com/57)에 테이블복사하는 SELECT INTO, INSERT INTO .. SELECT에대하여 살펴보았습니다. 이경우 테이블을 새로 생성하거나해서 데이터를 옮겨야합니다. 잠깐 사용할 용도인경우에는 테이블을 생성하지 않고 임시테이블로 사용해서 처리하면됩니다. 저장프로시저내에서 임시테이블을 만든다음 특정 작업을 하는 형태로 사용할경우 편리하게 사용할수 있습니다.
만드는방법 | 사용할수있는범위 | 삭제시기 | |
세션임시테이블 | #tablename | 해당세션에만 | 세션이 끊어질떄 |
전역임시테이블 | ##tablename | 다른세션에서도 | 세션이 끊어질떄 |
tempdb | create table | 다른세션에서도 | sql서버 시작시 |
1. 세션임시테이블.
테이블명칭앞에 #을 붙이면됩니다. #Address_New테이블으로 데이터를 복사해보겠습니다. 왼쪽 이미지와 같이 테이블이 복사된것을 확인할수 있으면 다른 세션에서 조회시에는 개체이름이 유효하지 않다며 "Msg 208, Level 16"에러메세지를 표출합니다.
2. 전역임시테이블
테이블명칭앞에 #을 두개 붙이면됩니다. ##Address_New테이블으로 데이터를 복사해보겠습니다. 왼쪽 이미지와 같이 테이블이 복사된것을 확인할수 있으면 다른 세션에서 조회시에도 결과가 조회되는것을 확인할수 있습니다.
3.tempdb
tempdb에 테이블을 생성하여 데이터를 복사해보았습니다.
SQL서버를 재시작해보면 기존에 생성되었던 tempdb가 삭제된것을 확인할수 있습니다.
참고 및 출처)
Microsoft 전문가로가는 지름길 SQL2000. 정원혁
'프로그래밍 > DB' 카테고리의 다른 글
[DB] MSSQL SQL서버설치방법 (0) | 2020.10.24 |
---|---|
[DB] MSSQL CASE문 사용법 (0) | 2020.10.22 |
[DB] MSSQL SELECT INTO, INSERT INTO .. SELECT 사용방법 및 차이점 (0) | 2020.10.18 |
[DB] MSSQL 데드락(교착상태) 해결방법 (2) | 2020.10.18 |
[DB] MSSQL 년별,분기별,월별,주별,일별 통계쿼리(DATEPART사용) (2) | 2020.10.16 |