Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: DBI place holder for sub query problem

by jZed (Prior)
on Jan 02, 2008 at 19:08 UTC ( #660037=note: print w/ replies, xml ) Need Help??

in reply to DBI place holder for sub query problem

Generally, placeholders can only hold the place of *values*, not structural elements like table and column names and subselect queries. You can (for most DBDs, I believe) use placeholders for values in a subquery so something like this might work:

$sth=$dbh->prepare(" UPDATE tableA SET colA =( SELECT colB FROM tableB WHERE colC=? ) WHERE tableA.rec_no=? "); foreach my $row ( @rows ) { $sth->execute( $row->{'tableB.value'}, $row->{'tableA.value'} ) or die $dbh->errstr; }
Note that the order of the values in the execute is the order of the placeholders in the SQL, not the order the tables are opened.

Comment on Re: DBI place holder for sub query problem
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (10)
As of 2014-11-23 16:14 GMT
Find Nodes?
    Voting Booth?

    My preferred Perl binaries come from:

    Results (134 votes), past polls