それで私はPerlに慣れ始め、最初のDbスクリプトを書きました。
今、私は巨大なatableからデータを選択し、いくつかの基準に基づいて要約テーブルに挿入しようとしています。
タイムアウトやその他のデータベースの問題が原因で、selectクエリが失敗したり、insertクエリが失敗したりする可能性があります。
最終的に、私のスクリプトはcronスクリプトになります。
接続で発生したエラーだけをログに記録し、スクリプトで生成されたファイルに挿入して選択できますか?
$logfile = $path.'logs/$currdate.log';
これが私のコードです:
my $SQL_handled="SELECT division_id,region_id, NVL(COUNT(*),0) FROM super_tab GROUP BY division_id,region_id;";
my $result_handled = $dbh->prepare($SQL_handled);
$result_handled->execute();
while (my ($division_id,$region_id,$count ) = $result_handled->fetchrow_array()){
my $InsertHandled="INSERT INTO summary_tab (date_hour, division_id, region_id,volume) VALUES ('$current',$division_id,$region_id,$market_id,'$service_type','$handled',$count);";
my $result_insert_handled = $dbh->prepare($InsertHandled);
$result_insert_handled->execute();
}
何かのようなもの
if(DBI-query failed){//エラーを上記のログパスに記録する}