------------------exec与临时表的问题
--temprature table time
declare @i int
declare @tem_timer table
(
TimerID [tinyint],
TimerEmpty [varchar](20)
)
set @i=1
while @i <=24
begin
insert into @tem_timer values(@i, ' ')
set @i=@i+1
end
--end
declare @sqlstr nvarchar(4000)
set @sqlstr= 'select * from '+@tem_timer
exec sp_executesql @sqlstr
報錯:
伺服器: 訊息 137,層級 15,狀態 2,行 33
必須宣告變數 '@tem_timer '。
查臨時表不可以這樣用嗎?
謝謝!
------解决方案----------------------temprature table time
declare @i int
create table #tem_timer
(
TimerID [tinyint],
TimerEmpty [varchar](20)
)
set @i=1
while @i <=24
begin
insert into #tem_timer values(@i, ' ')
set @i=@i+1
end
--end
declare @sqlstr nvarchar(4000)
set @sqlstr= 'select * from #tem_timer '
exec sp_executesql @sqlstr
------解决方案--------------------declare @sqlstr nvarchar(4000)
set @sqlstr= '
declare @i int
declare @tem_timer table
(
TimerID [tinyint],
TimerEmpty [varchar](20)
)
set @i=1
while @i <=24
begin
insert into @tem_timer values(@i, ' ' ' ')
set @i=@i+1
end
select * from @tem_timer '
exec sp_executesql @sqlstr