이전 글에서 테이블 변수에 관해서 이야기했었습니다.
임시 테이블과 테이블 변수는 사용하는 방법 면에서는 별 차이가 없으나 성능상 차이가 있다고 합니다.
테이블 변수가 성능 면에서 더 유리하다고 하는데....직접 비교는 해보지 않아서 잘 모르겠습니다 ㅎㅎㅎ
(참고 : [MSSQL] 저장프로시저에서 테이블(Table) 변수 사용하기 )
선언 임시테이블이므로 크리에이트 테이블(Create Table)로 생성하면 됩니다.
--리턴값을 받기위한 임시 테이블
--Create Table [생성할 테이블 이름] ( [컬럼명] [데이터형], ... , [컬럼명] [데이터형] )
Create Table #Result ( nIndex int
, sName varchar(16)
, sID varchar(16))
입력은 테이블 변수와 마찬가지로 인서트(Insert)를 이용하면 됩니다.
--Insert [임시테이블] Exec [sql문]
Insert #Result Exec ProcTest @nIndox
, @sName
, @sID
임시테이블도 일반적인 테이블처럼 사용할 수 있습니다.
Set @nTemp = (Select * From #Result)
동작은 임시 테이블이나 테이블 변수나 거의 같습니다.