2012. 3. 26. 08:30

이전 글에서 테이블 변수에 관해서 이야기했었습니다.

임시 테이블과 테이블 변수는 사용하는 방법 면에서는 별 차이가 없으나 성능상 차이가 있다고 합니다.

테이블 변수가 성능 면에서 더 유리하다고 하는데....직접 비교는 해보지 않아서 잘 모르겠습니다 ㅎㅎㅎ

(참고 : [MSSQL] 저장프로시저에서 테이블(Table) 변수 사용하기 )

 

 

1. 선언

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

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

 

 

2. 입력

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

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

 

 

3. 사용

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

Set @nTemp = (Select * From #Result)

 

 

마무리

동작은 임시 테이블이나 테이블 변수나 거의 같습니다.