Я передаю список значений через запятую в хранимую процедуру. Мне нужно выполнить запрос, чтобы увидеть, есть ли идентификатор объекта в списке, разделенном запятыми. К сожалению, я думаю, что я чего-то не понимаю.
Когда я выполняю следующую хранимую процедуру:
exec dbo.myStoredProcedure @myFilter=N'1, 2, 3, 4'
Я получаю следующую ошибку:
"Conversion failed when converting the varchar value '1, 2, 3, 4' to data type int."
Моя хранимая процедура довольно проста. Это выглядит так:
CREATE PROCEDURE [dbo].[myStoredProcedure]
@myFilter nvarchar(512) = NULL
AS
SET NOCOUNT ON
BEGIN
-- Remove the quote marks so the filter will work with the "IN" statement
SELECT @myFilter = REPLACE(@myFilter, '''', '')
-- Execute the query
SELECT
t.ID,
t.Name
FROM
MyTable t
WHERE
t.ID IN (@myFilter)
ORDER BY
t.Name
END
Как использовать параметр в выражении SQL, как описано выше? Спасибо!