in reply to Perl - DBI - How to process array rather than single value?
Something like (untested):
my @query_ids = (5,4,3,2,1); my $sql = q/select rec_data from foo where id in (/ . join(",", @query +_ids) . q/) order by id/; my $results = $dbh->selectall_arrayref($sql);
You can also use placeholders which most people will say are better (which they are) but it depends on how big @query_ids is. Some database engines have quite low limits on the number of parameters. Anyway, to do it that way:
my @query_ids = (5,4,3,2,1); my $sql = q/select rec_data from foo where id in (/ . join ",", ("?") +x @query_ids .q/) order by id/; print $sql;' select rec_data from foo where id in (?????) order by id my $results = $dbh->selectall_arrayref($sql, undef, @query_ids);
Are you also asking to get the rows back in the order they are in @query_ids?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Perl - DBI - How to process array rather than single value?
by chacham (Prior) on Apr 10, 2014 at 14:51 UTC | |
Re^2: Perl - DBI - How to process array rather than single value?
by Anonymous Monk on Apr 10, 2014 at 15:55 UTC |
In Section
Seekers of Perl Wisdom