НОВЫЙ ОТВЕТ -
Ну вы должны сделать что-то вроде этого, как указано ниже. Я предполагаю, что ваша строка csv будет указана в переменной @str ниже. Иначе вы должны убедиться, что ваша строка (или arraystring) должна иметь этот формат с одинарными кавычками для каждого элемента -
set @str = "'some1','some2','some3'";
set @qry1 = CONCAT('select * from testing where col1 in (',@str,')');
prepare stmt1 from @qry1;
execute stmt1;
deallocate prepare stmt1;
OLD ОТВЕТ -
Я предполагаю, что вы пройдете путь CSV-файл с хранимыми proc и читать строки в csv в том, что хранится proc. Так что в принципе вы можете хранить все эти CSV значения полей в временную таблицу и написать запрос с использованием IN -
select * from sourceTable
where fieldValue in (select csvFieldValue from #temptable)
Нет, это не файл, а текстовое поле типа «token1, token2, token3» и т. Д., Которое передается в качестве параметра. – Chris
@ Chris - Отредактировал мой ответ. Протестировано с заданной строкой, и она отлично работает. Возможно, вам придется немного манипулировать строковым массивом, который у вас есть. –
Необходимо сделать некоторые манипуляции с строкой в агенте, чтобы получить правильные цитаты, но хорошо работает, спасибо! – Chris