У меня есть сохраненный процесс, в который я передаю два параметра.Один параметр является табличным параметром, а другой - nvarchar.Вот хранимый процесс:
ALTER PROCEDURE [dbo].[_sp_TestProc]
@P1 As [dbo].[FileIdTableType] Readonly,
@P2 As NVARCHAR (MAX)
AS
BEGIN
SET NOCOUNT ON;
SELECT DISTINCT [Field1], [Field2], [Field3]
FROM [MyTable] WHERE [Field1] IN (@P1)
AND [Field2] IN (@P2)
END
Из кода я передаю свой DataTable как @ P1 и строку значений как @ P2, которая выглядит как "'Value1', 'Value2', 'Value3', 'Value4'"
Это @P2, который вызывает у меня проблемы.Тип таблицы работает отлично.Обычно при использовании таких параметров в моих хранимых процессах я создаю строку внутри, форматирую строку с параметрами, затем вызываю sp_executeSql для запуска запроса.Тем не менее, это не будет работать при использовании табличных параметров.
Кто-нибудь знает, как работать с табличными параметрами наряду с nvarchar, как это?Я уверен, что упускаю что-то простое, когда пытаюсь правильно отформатировать это.Спасибо,
-Скотт