Есть ли стандартный способ привязки массивов (скаляров) в SQL-запросе? Я хочу привязаться к предложению IN
, например:
SELECT * FROM junk WHERE junk.id IN (?);
Я использую Perl::DBI
, который приводит параметры к скалярам, поэтому я получаю бесполезные запросы, такие как:
SELECT * FROM junk WHERE junk.id IN ('ARRAY(0xdeadbeef)');
Пояснение: я поместил запрос в отдельный файл .sql
, поэтому строка уже сформирована. Там, где в ответах упоминается динамическое создание строки запроса, я бы, вероятно, вместо этого выполнил поиск и замену.
Изменить: этот вопрос является дубликатом параметризации предложения SQL IN. ?. Первоначально я думал, что он должен быть закрыт как таковой, но похоже, что он накапливает некоторую полезную информацию, специфичную для Perl.