http://www.perlmonks.org?node_id=660005


in reply to Re: DBI place holder for sub query problem
in thread DBI place holder for sub query problem

Thank you for your input, but when I tried it I get
DBD::Oracle::st execute failed: ORA-01722: invalid number (DBD ERROR: +error possibly near <*> indicator at char 30 in 'Update Customers set + RESULTS =:<*>p1....
is this because it is a sql string and not a number. The sqlstring, when executed alone returns a number. TIA

Replies are listed 'Best First'.
Re^3: DBI place holder for sub query problem
by jettero (Monsignor) on Jan 02, 2008 at 18:09 UTC
    If it's not a bind variable then it's not a bind variable. The bind vars get meta-quoted automagically, sql probably should not be, so I don't think you can use a bind variable to do that job.

    -Paul

Re^3: DBI place holder for sub query problem
by olus (Curate) on Jan 02, 2008 at 22:06 UTC
    If you are using a sub-query then the parenthesis are needed. Just omit the single quotes.
    $sth=$dbh->prepare("Update Customers set RESULTS = (?) where rec_no = +?");
    From the error message, it seems like you are assigning RESULTS with something like SELECT.