%hash; # It stores about 70,000 records,just like $hash{"ID"} = "2002",etc; #### my $dbh=DBI->connect("xxxx"); # My DB is SQLSERVER 2005 foreach (keys %hash) { my $query = "UPDATE tab SET d='$hash{$_}' WHERE id=$_"; die "Error $query\n" unless $dbh->do($query); } $dbh->disconnect; #### 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;