my $sth = $dbh->prepare("Insert into customers (Names) select ? from
+dual where not exists (select Names from Customers where Names = ?")
$sth->execute($name,$name);
This shall work in Oracle rdbms ,the inserts actually inserts the Name that is not in the database's entity already and hence takes care of the duplicate by itself