Что не так с этим T-SQL? - PullRequest
       15

Что не так с этим T-SQL?

0 голосов
/ 12 июля 2010

Что не так с этим T-SQL:

DECLARE @temp TABLE(ID INT IDENTITY,[Value] VARCHAR(100))
SET @temp = dbo.[fnCSVToTable](',2,3')

Ответы [ 2 ]

5 голосов
/ 12 июля 2010

Я не думаю, что вы можете назначить табличную переменную таким образом (если это не новость в SQL 2008).

По крайней мере, для SQL2005 вам нужно сделать следующее.

DECLARE @temp TABLE(ID INT IDENTITY,[Value] VARCHAR(100))

INSERT INTO @temp
SElECT [value] 
FROM dbo.[fnCSVToTable](',2,3')
3 голосов
/ 12 июля 2010

Из документов для SET ( SQL 2008 ; SQL 2005 ) (мой акцент):

@ local_variable

Имя переменной любого типа, кроме курсора, текста, ntext, изображения, или таблицы .

Чтобы заполнить табличную переменную, используйте

INSERT @table_variable 
SELECT columns 
FROM dbo.fnTableValuedFunction
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...