2010-01-29 51 views
1

我試圖做一個表變量的副本:T-SQL複製表變量

DECLARE @lt_Sections TABLE 
(
    teamId SMALLINT NOT NULL 
) 

DECLARE @lt_tempSections TABLE 
(
    teamId SMALLINT NOT NULL 
) 

-- populate some values in @lt_Sections 
-- take a copy of @lt_Sections 

SET @lt_tempSections = @lt_Sections 

這是給我的錯誤:

Msg 137, Level 15, State 2, Line 14 
Must declare the scalar variable "@lt_Sections". 

我做了什麼錯? ?

謝謝, 馬克

回答

3

集(或選擇)只能應用於標量不是表變量。

而不是設置值,你應該使用插入

DECLARE @lt_Sections TABLE 
    ( 
     teamId SMALLINT NOT NULL 
    ) 

DECLARE @lt_tempSections TABLE 
( 
    teamId SMALLINT NOT NULL 
) 

insert @lt_TempSections(teamId) 
select teamId from @lt_sections 
+0

+1完美的感謝 – 2010-01-29 19:40:08

2

您不能複製表變量這樣(把它們的更多,你會真正的/臨時表)。

你需要:

INSERT @lt_tempSections (teamId) 
SELECT teamId FROM @lt_Sections