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