Тип данных SQL для использования строкового предложения

Я хочу создать хранимую процедуру SQL Server следующим образом:

CREATE PROCEDURE dbo.uspGetCharacterID                             
   (@characterName vchar(1000)) 
as            
   SELECT c.charatcer_full    
   FROM CHARACTER c (nolock)      
   WHERE character_full IN (@characterName)      
   ORDER BY C.characterID

Из кода @charactername я прохожу --> 'Batman in latest movies', 'Superman in latest movies'

Но в коде он возвращает нулевые строки.

ПРИМЕЧАНИЕ. Если я запускаю тот же запрос на выборку в SQL с этой строкой, он успешно возвращает две строки.

ВОПРОС: какой тип данных следует использовать, чтобы выполнить это требование?

'Varchar' и 'Text' не работали.

Пожалуйста, направляйте

Спасибо


person Kings    schedule 01.06.2012    source источник
comment
Будет ли эта строка представлять данные в одной записи Бэтмен в последних фильмах, Супермен в последних фильмах   -  person ejb_guy    schedule 01.06.2012
comment
В таблице «Персонаж», «Бэтмен в последних фильмах» есть 1 строка, а в таблице «Супермен в последних фильмах» — 1 строка. Таким образом, выполнение приведенного выше запроса возвращает две строки.   -  person Kings    schedule 01.06.2012
comment
Дело не в типе данных - дело в том, что вы не можете сделать это так, как вы это делаете. Вы не можете передать список строк как varchar, а затем использовать их в конструкции .. IN (....). Так не работает. См. этот другой вопрос SO, касающийся этой проблемы. , и посмотрите ответ, предоставленный KM. - вот как это сделать   -  person marc_s    schedule 01.06.2012
comment
@marc_s - Итак, как мне передать более одной строки в предложении «IN», используя Stored Proc? И почему упомянутый выше запрос Select успешно выполняется при запуске вручную с этим списком строк?   -  person Kings    schedule 01.06.2012
comment
@Короли. см. другой вопрос SO, на который я ссылался - Ответ, предоставленный там, показывает вам, как это сделать!   -  person marc_s    schedule 01.06.2012