Нет, вы не можете сделать это легко. Один из вариантов - использовать $dbh->quote
, например.
my @values = (1,2,3,4);
my $sql = "SELECT * from my_table WHERE ID IN (";
$sql .= join(',', map { $dbh->quote($_) } @values)
$sql .= ')';
Или вы можете создать необходимые заполнители и передать массив в качестве параметров привязки, например.
my @values = (1,2,3,4);
my $sql = "SELECT * from my_table WHERE ID IN (";
$sql .= join(',', map { '?' } @values);
$sql .= ')';
my $sth = $dbh->prepare($sql);
$sth->execute(@values);
Ни один из них не является исключительно красивым.
person
a'r
schedule
30.09.2010