注意:我已經更正了變量差異,它確實打印了第一個查詢中的查詢,但它不返回第二個查詢中的任何內容。如果我使用第二套只有它的作品。在Oracle中使用perl查詢多次只返回第一個查詢
在下面的代碼中,我有some_array,它是數組的數組,該數組包含名稱等文本。所以 @ some_array =([sam,jon,7月],[Mike,Han,Tommy],[angie,sita,lanny]); 現在,當我查詢名單如'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";
}
這不可能是你真正的代碼,可以嗎?爲什麼'@ sql'和'$ sql'被初始化但未被使用,而@ query和$ query'被使用但未被初始化?什麼是'$ db','$ dbh'和'$ sdh',爲什麼它們看起來不那麼使用?今後,請更好地發佈編譯,運行和演示您遇到的問題的代碼。 – mob 2013-03-18 22:24:03
對於變量差異,我很抱歉,我已經糾正它。它也打印結果,但第一組只返回undef。如果我將第二組作爲第一組,那麼它將僅返回第二組。所以問題是它只返回第一組。 – mysteriousboy 2013-03-19 00:40:23