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

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

I'm trying to do a database deletion from an Oracle database. I'm using DBI and the Oracle DBD. I can do inserts with placeholders, but I do not know how to do deletes.

I declare my variable like this.

my $deleteString = qq{ delete from my_table where id = ?};


I originally tried using prepare and execute statements, but to no avail.

my $var = "12345"; $dbh = DBI->connect ("dbi:Oracle:$database",$username,$password) or die $DBI::errstr; if(!$dbh){ print $DBI::errstr; exit 1;} $sth1 = $dbh->prepare($deleteString); $sth1->execute($var) or die "FAILED DELETION";
Then I thought that I should use a "$dbh->do" call, but I don't know how to make it work with placeholders.

Can anyone assist?

UPDATE:
Corion prompted me to check the type of the column that I was using in the where clause. It was a CHAR(6). I was looking for a 5 character string. I padded the string with a trailing space and everything worked properly.

Gentlemen(and/or ladies), thank you for your help.

AKSHUN