In my code I would like to do something like this:
my @ids = (1,2,3,4);
my $sth = $dbh->prepare('select * from a_table where id in (?)');
and have it return me four rows for the four IDs I passed in. I realize that it couldn't work exactly like that because passing multiple arguments to execute
provides values to multiple placeholders, but is there any way of achieving it? I use Oracle and occasionally MySQL.
The only alternative I know of is to load the IDs into some temporary table and use a sub-select. But I don't like the idea of having to insert a bunch of physical records just to run a query. What alternatives do I have? Thanks,
Update: I realized that the join ',', ('?') x @ids technique may be applicable here, but I would prefer to keep a single static SQL statement if I can.