Передача определяемого пользователем параметра таблицы в динамический sql, sp_executesql

Мне нужна помощь с передачей моего параметра «определяемый пользователем тип таблицы» в динамический sql , sp_executesql.

Вот мой пример кода:

DECLARE  @str as nvarchar(Max)
DECLARE @IDLIST AS  ListBigintType  /* this is my table type, with ItemId column (bigint)*/

INSERT INTO @IDLIST

SELECT DISTINCT bigintid FROM tableWithBigInts WITH(NOLOCK)


set @str ='select * from SomeTable where ID in (select ItemId from @IdTable) '

EXEC sp_executesql  @str , @ParamDefs, @IdTable = @IDLIST

Он говорит: необходимо объявить табличную переменную «@IdTable»

Я не могу заставить это работать, и не могу найти обходной путь с coalesce (для больших точек), потому что результат будет более 8000 знаков.

6
задан Brian Tompsett - 汤莱恩 14 December 2017 в 23:21
поделиться