Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
No such thing as a small change
 
PerlMonks  

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)

Howdy!

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.

yours,
Michael


Comment on Re: DBD and bind_param (Oracle)
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.


    s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
    +.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e
      Howdy!

      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.

      yours,
      Michael

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://876241]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2014-04-19 13:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (480 votes), past polls