T-SQL копирование табличной переменной - PullRequest
1 голос
/ 29 января 2010

Я пытаюсь сделать копию табличной переменной:

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

Что я сделал не так ??

Спасибо, Mark

Ответы [ 2 ]

3 голосов
/ 29 января 2010

Набор (или выбор) может применяться только к скалярной переменной, а не к табличной переменной.

Вместо установки значений вы должны использовать 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
2 голосов
/ 29 января 2010

Вы не можете копировать такие переменные таблицы (думайте о них больше, как о реальной / временной таблице).

Вам необходимо:

INSERT @lt_tempSections (teamId)
SELECT teamId FROM @lt_Sections
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...