注: 変数の違いを修正し、最初のセットからクエリを出力しますが、2 番目のセットからは何も返しません。2 番目のセットのみを使用すると、機能します。
以下のコードでは、名前のようなテキストを含む配列の配列である some_array があります。@some_array= ([サム、ジョン、ジュリー]、[マイク、ハン、トミー]、[アンジー、シタ、ラニー]); ここで、最初に 'sam jon july' と 'mike han tommy' のようにリストをクエリするとします。実行のみが最初のリストから結果を返します。その他は undef です。なぜ助けがありがたいのかわかりません。
my $pointer;
my $db = $db->prepare_cached("
begin
:pointer := myFun(:A1);
end;
") or die "Couldn't prepare stat: " . $db->errstr;
$db->bind_param_inout(":pointer",\$pointer,0,{ ora_type => ORA_RSET });
for (my $i=0; $i < @some_array ; $i++) {
my @firstarray = @{$some_array[$i]};
my $sql = lc(join(" ", @firstarray));
print "<pre>$sql</pre>\n";
$db->bind_param(":A1",$sql);
$db->execute();
print "<pre>".Dumper($db->execute())."</pre>\n";
}