0
我有更新Oracle數據庫下面這段Perl腳本的。它工作得很好;但是,我想知道如何來簡化這個腳本:腳本來更新數據庫
use DBI;
my $dbh;
my $bad_form = "text.txt";
open (OUT, $bad_form) or die "Could not open $bad_form";
while (<OUT>){
chomp $_;
my ($item_id, $description, $form_id_1, $form_id_3) = split(/\|/, $_);
my $new_form_id_1 = form_1($form_id_1);
my $new_form_id_3 = form_3($form_id_3);
if ($new_form_id_1 ne 'null'){
my $sql = "update item_table set form_id_1 = '$new_form_id_1' where item_id = '$item_id'";
my $item = $dbh->prepare($sql) or (log_error("Couldn't prepare statement: " . $dbh->errstr) and return 2);
$item->execute() or (log_error("Couldn't execute statement: " . $item->errstr) and return 2);
}else{
$form_id_1 = "correct value";
$new_form_id_1 = "no updated";
}
if ($new_form_id_3 ne 'null'){
my $sql = "update item_table set form_id_3 = '$new_form_id_3' where item_id = '$item_id'";
my $item = $dbh->prepare($sql) or (log_error("Couldn't prepare statement: " . $dbh->errstr) and return 2);
$item->execute() or (log_error("Couldn't execute statement: " . $item->errstr) and return 2);
}else{
$form_id_3 = "correct value";
$new_form_id_3 = "no updated";
}
}
其中功能form_1()和form_3()用於生成新值form_id_1,3。
任何幫助,將不勝感激。非常感謝您的幫助。
了在[codereview.se] –
我投票作爲題外話,因爲它屬於在代碼審查SE關閉這個問題這個問題會更合適 –