我正在尝试复制一个表变量:
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".
我做错了什么?
谢谢, 标记
答案 0 :(得分:3)
Set(或select)只能应用于标量变量而非Table变量。
您应该使用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
答案 1 :(得分:2)
你不能像这样复制表变量(想象它们就像真实/临时表一样)。
你需要:
INSERT @lt_tempSections (teamId)
SELECT teamId FROM @lt_Sections