T-SQL 复制表变量
Posted
技术标签:
【中文标题】T-SQL 复制表变量【英文标题】:T-SQL copying a table variable 【发布时间】:2010-01-29 11:18:08 【问题描述】:我正在尝试复制一个表变量:
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".
我做错了什么??
谢谢, 标记
【问题讨论】:
【参考方案1】:设置(或选择)只能应用于标量变量而不是表变量。
你应该使用插入而不是设置值
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
【讨论】:
【参考方案2】:您不能像这样复制表变量(将它们更多地视为真实/临时表)。
你需要:
INSERT @lt_tempSections (teamId)
SELECT teamId FROM @lt_Sections
【讨论】:
以上是关于T-SQL 复制表变量的主要内容,如果未能解决你的问题,请参考以下文章
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句