Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: DBD and bind_param (Oracle)

by herveus (Parson)
on Dec 09, 2010 at 12:15 UTC ( #876241=note: print w/replies, xml ) Need Help??

in reply to DBD and bind_param (Oracle)


The short answer is "no".

The parsed statement will only have one item in the IN list. The only way to get more slots is to have more bind variables as noted above. If you want the advantages of placeholders and bind variables, you are stuck with this limitation. Sorry about that.


Replies are listed 'Best First'.
Re^2: DBD and bind_param (Oracle)
by Skeeve (Vicar) on Dec 09, 2010 at 14:23 UTC

    Not the answer I wanted to read but at least I don't need to search any further.

    Thanks to both of you.


      Now, there are other ways to work the problem that retain the use of bind variables. Consider:

      my @values = qw/1 2 3/; my $sql = 'select * from foo where x in (' . join(', ', ('?') x @in_va +lues) . ')'; $dbh->prepare($sql)->execute(@values);

      This preserves the use of placeholders and the benefits therefrom while adapting to the changing number of parameters. You can't avoid constructing the query to fit the data.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://876241]
[stevieb]: At least that's what I'm working on right now. I've also been updating my automated test software Test::BrewBuild so it handles this work properly. It's not really easy meshing high level languages with low-level hardware :)
[stevieb]: this link is probably better for an overview of my test software
[stevieb]: the top-level Raspberry Pi distribution, that sucks in all sub modules. All of this software have imminent updated releases coming

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2017-06-25 23:18 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (572 votes). Check out past polls.