my $dbh=DBI->connect("xxxx"); # My DB is SQLSERVER 2005 my $sth=$dbh->prepare(qq{ UPDATE tab SET d='?' WHERE id=?}); foreach (keys %hash) { $sth->execute($hash{$_},$_); } $sth->finish; $dbh->disconnect;