Я не думаю, что вы можете назначить табличную переменную таким образом (если это не новость в SQL 2008).
По крайней мере, для SQL2005 вам нужно сделать следующее.
DECLARE @temp TABLE(ID INT IDENTITY,[Value] VARCHAR(100))
INSERT INTO @temp
SElECT [value]
FROM dbo.[fnCSVToTable](',2,3')