Передача параметров в предложение IN в SQL Server

Возможные дубликаты:
Параметризация предложения SQL IN?
SQL Server - в предложении с объявленной переменной

Привет,

Я столкнулся с проблемой передачи параметров в предложение IN. Я использую запрос ниже.

Запрос:

SELECT Topics.Topic_Id  FROM Topics 
    Where Topic_Description IN (''+ @Topics +'')    

Этот запрос работает, когда параметр имеет одно значение. Мой параметр может иметь несколько значений, разделенных запятыми: "один", "два", "три", "четыре". Но запрос не выполняется всякий раз, когда есть несколько параметров. Как преодолеть это? Пожалуйста, предложите.

Спасибо

Я должен использовать выше, как часть хранимой процедуры. Я должен взять результат запроса select в курсор, как показано ниже:

ОБЪЯВЛЯТЬ КУРСОР cur_TopicIDs ДЛЯ ВЫБРАТЬ Topics.Topic_Id ИЗ ТЕМ, где Topic_Description IN (''+ @Topics +'').... и т. Д.

В этом случае, как я могу использовать динамический SP, как предлагается в других ссылках

2 ответа

Решение

Воспользуйтесь любой из функций разделения здесь: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648

Вы должны создать строку формата one','two','three как значение в @Topics.

РЕДАКТИРОВАТЬ:- Тогда вам нужно использовать EXEC sp_executesql выполнить ваше заявление SQL. Ответ правильно объяснен в ссылке, предоставленной спонсором на ваш вопрос.

Другие вопросы по тегам