출처 - http://blog.danggun.net/1036


이전 글에서 테이블변수에 대해서 이야기를 했었습니다.
임시테이블과 테이블변수는 사용하는 방법면에서는 별차이가 없으나 성능상 차이가 있다고 합니다.
테이블 변수가 성능면에서 더 유리하다고 하는데....직접 비교는 해보지 않아서 잘 모르겠습니다 ㅎㅎㅎ
(참고 : [MSSQL] 저장프로시저에서 테이블(Table) 변수 사용하기)

그런이유로 테이블 변수를 더 권장하고 있으나....임시 테이블을 사용하는 방법도 알려드리겠습니다 ㅎㅎ


1.선언

선언 임시테이블이므로 크래딧테이블(Create Table)로 생성하면 됩니다.


1
2
3
4
5
--리턴값을 받기위한 임시 테이블
--Create Table [생성할 테이블 이름] ( [컬럼명] [데이터형], ... , [컬럼명] [데이터형] )
Create Table #Result ( nIndex int
        , sName varchar(16)
        , sID varchar(16))


2.입력
입력은 테이블변수와 마찬가지로 인서트(Insert)를 이용하면 됩니다.

1
2
3
4
--Insert [임시테이블] Exec [sql문]
Insert #Result Exec ProcTest @nIndox
            , @sName
            , @sID


3.사용
임시테이블도 일반적인 테이블 처럼 사용할 수 있습니다.

1
Set @nTemp = (Select * From #Result)