SQL/MS-SQL & SQL Server Management Studio

임시 테이블 (@) vs 테이블 변수 (#)

삐뚤어진 개발자 2019. 12. 2.

1. 임시 테이블

 

예시)

-- 임시테이블 생성
CREATE TABLE #TB_TEMP(
	A_COL INT IDENTITY(1,1)
    ,B_COL INT
)
-- 임시테이블에 데이터 삽입
INSERT INTO #TB_TEMP
VALUES(2500)
-- 조회
SELECT * FROM #TB_TEMP

값 2500 이 삽입된것을 조회할수 있다.

2. 테이블 변수

 

예시)

 

-- 테이블 변수 선언
DECLARE @TB_TEMP TABLE (
	A_COL INT IDENTITY(1,1)
    ,B_COL INT
)
-- 테이블 변수에 값 삽입.
INSERT INTO @TB_TEMP VALUES(2500)
-- 테이블 변수 조회
SELECT*FROM @TB_TEMP

값 2500 이 삽입된것을 조회할수 있다.

 

필요한 경우.

- 복잡한 쿼리를 단순화 시킬때

- 서버상의 커서 사용으로 인한 부하를 줄일때

 

차이점.

 

 

reference: http://blog.naver.com/PostView.nhn?blogId=islove8587&logNo=220608680181&redirect=Dlog&widgetTypeCall=true

댓글