curtisb has asked for the wisdom of the Perl Monks concerning the following question:

I'm working on updating a few records in my database using DBI.
Howerver, provided below is the update statment, I keep getting errors when I run this statment.
The user arsamsdba has full access to this table, yet I'm still getting the error message below.

#!/usr/bin/perl # #Connects to a Sybase Database use DBI; #Loads DBI module #Connect using DBA (Opens DB Handle).... $dbh = DBI->connect("dbi:ODBC:usamma", "arsamsdba", "arsamssql", { PrintError => 1, RaiseError => 1 }) or die "Can't connect to database: $DBI::errstr\n"; print "Connect to Database\n"; eval { $dbh->do(q{ UDPATE parser_table SET amdf_price = '0' WHERE length(amdf_price) = 0 } ); $dbh->commit; }

--ERROR MESSAGE--
D:\WorkingFiles\Scripts\perl>perl -w update.pl Connect to Database DBD::ODBC::db do failed: [Sybase][ODBC Driver][Adaptive Server Anywher +e]Syntax e rror or access violation: near 'parser_table' in ... UDPATE [parser_ta +ble] ... ( SQL-42000)(DBD: Execute immediate failed err=-1) at update.pl line 18.

Any help would be greatly appreciated.
Thanks,
Bobby

Replies are listed 'Best First'.
Re: Update statement problem with DBI
by borisz (Canon) on Jan 06, 2005 at 14:28 UTC
    Thats easy, just write UPDATE instead of UDPATE ;-)
    Boris

      Ouch! borisz, Good catch.

      curtisb, the sanity check in this case is to try the SQL command through another tool, such as isql. Another check is to run a really simple command so that you can eliminate the sql from the problem -- I like : select date=getdate()


      "Look, Shiny Things!" is not a better business strategy than compatibility and reuse.

      Thanks, guess I've been staring at it to long.
      Bobby