• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:fetch中にDBアクセス)

fetch中にDBアクセス

このQ&Aのポイント
  • PERLでのfetch時に再度DB検索を行いたい場合、注意が必要です。
  • 既存のプログラムに要件を追加し、fetch中にDB検索を行いたい場合には、注意が必要です。
  • $rc = $DBr->fetchrow_hashrefの後にさらにDB検索を行いたい場合、注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>1つ目の$DBr->finish が行われる前には >PERLではできないよ、ということがあれば教えてください。 通常の手順通りに呼び出すのであれば、多重ループの複数箇所で fetchしても動作はします。 ただ、その例だと、一つ目のwhileは1度評価されたあとは、 残りを2つ目のwhileが処理するので、実質的に、多重ループに なっていないように見受けます。

cshoaucmoa
質問者

お礼

返答ありがとうございます。 すみません。2回とも$DBrに対してfetchをかけている ので、結果として同じことになってしまっているってことですよね。 私の行いたかった処理は my(%REC); my(%SQLPARAM); my(@LIST); ---ここで★DB読み込み処理(prepare , execute等) while ($rc = $DBr->fetchrow_hashref) {  $REC{HOGE} = $rc->{'hoge'};  #読み込んだレコードを次のSQLパラメーターとしてセット  $SQLPARAM{HOGE} = $REC{HOGE};  ---ここで★2個目のDB読み込み処理(prepare , execute等)  while ($rc2 = $DBr2->fetchrow_hashref){   pushi(@LIST,$rc2);  } } といった処理を行いたかったのです。でもどうもできそうですね。 ありがとうございました。

関連するQ&A