2

我正在尝试复制表变量:

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".

我做错了什么??

谢谢,马克

4

2 回答 2

4

设置(或选择)只能应用于标量变量而不是表变量。

您应该使用 Insert 而不是设置值

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
于 2010-01-29T11:25:39.653 回答
2

您不能像这样复制表变量(更多地考虑它们,就像您对真实/临时表一样)。

你需要:

INSERT @lt_tempSections (teamId)
SELECT teamId FROM @lt_Sections
于 2010-01-29T11:22:26.483 回答