in reply to (Ovid) Re: DBI not letting bind varibles in if you use a varible for the statement.
in thread DBI not letting bind varibles in if you use a varible for the statement.

that is the code, except for the exceedingly long SQL statement - which was built for me by a tool and works fine. The suggestion about using single quotes actually did fix the issue - was that just a side effect?

Also, I don't know about other DBs, but Oracle's column names are not case-sensative. The all caps thing is how I learned SQL from the get-go (been writing SQL long before Perl :)

  • Comment on RE: (Ovid) Re: DBI not letting bind varibles in if you use a varible for the statement.

Replies are listed 'Best First'.
RE: RE: (Ovid) Re: DBI not letting bind varibles in if you use a varible for the statement.
by merlyn (Sage) on Sep 06, 2000 at 21:50 UTC
    That is the code, except for the exceedingly long SQL statement - which was built for me by a tool and works fine. The suggestion about using single quotes actually did fix the issue - was that just a side effect?
    The "exceedingly long SQL statement" was the problem, if changing from double quotes to single quotes fixed it. You must have some @, $, or \ somewhere in that string.

    When people post "this breaks" but don't post the code that actually breaks, all we can do is guess. On Usenet, it's a common practice to simply make up a nonsense answer like "the problem is on line 48, or near there". {grin}

    But yes, changing the stuff you posted from double to single quote wouldn't have changed a thing, so whatever your secret SQL is, that's where the problem was. Please keep that in mind next time. Most of the people answering questions here are not asking for things idly. {grin}

    -- Randal L. Schwartz, Perl hacker

      here's the SQL, by popular demand:
      SELECT SC_BASE_APPT.CALL_ID, SC_BASE_APPT.STATUS FROM SC_BASE_APPT , SC_BASE_INFO WHERE ( (SC_BASE_INFO.TRANS_ID = SC_BASE_APPT.TRANS_ID) ) AND SC_BASE_APPT.SC_ID = ? AND ((to_number(SC_BASE_INFO.AP_START) <= ? AND to_number(SC_BASE_INFO.AP_ +END) >= ?) OR (to_number(SC_BASE_INFO.AP_START) <= ? AND to_number(SC_BASE_INFO.AP_E +ND) >= ?))