SQL SERVER的臨時(shí)表有本地臨時(shí)表和全局臨時(shí)表之分,在聯(lián)機(jī)叢書(shū)中這樣描述:
在存儲(chǔ)過(guò)程中創(chuàng)建的本地臨時(shí)表,相當(dāng)于存儲(chǔ)過(guò)程的變量,只在存儲(chǔ)過(guò)程內(nèi)可見(jiàn),而在前臺(tái)程序中創(chuàng)建的本地臨時(shí)表,就和微軟聯(lián)機(jī)叢書(shū)中所寫(xiě)的一樣,是對(duì)當(dāng)前的用戶連接可見(jiàn)。了解了這些,可以在不同場(chǎng)合不同需求下使用不同的方法來(lái)創(chuàng)建本地臨時(shí)表,這樣,會(huì)使臨時(shí)表發(fā)揮它最大的用處。
/*****************表變量********************/
declare @t table(
cataid int
)
insert into @t select a.cataid from f_getchlid(27,'5961051') a
select top 10 favorites.*,multicata.cataname
from favorites left outer join multicata on favorites.cataid=multicata.cataid
where favorites.userid='5961051' and favorites.cataid in (
select * from @t)
/****************臨時(shí)表************************/
方法一、
select a.cataid into #t from f_getchlid(27,'5961051') a
select top 10 favorites.*,multicata.cataname
from favorites left outer join multicata on favorites.cataid=multicata.cataid
where favorites.userid='5961051' and favorites.cataid in (
select * from #t)
drop table #t
方法二、
create table #t (
cataid int
)
insert into #t select a.cataid from zhaoguoguang.f_getchlid(27,'5961051') a
select top 10 favorites.*,multicata.cataname
from favorites left outer join multicata on favorites.cataid=multicata.cataid
where favorites.userid='5961051' and favorites.cataid in (
select * from #t)
drop table #t