我想寫一個使用陣列或散列的Rose :: DB :: Object查詢字符串,但我不確定如何去做吧。我試圖編寫一個更新函數基於列表中列舉的數組中的某些ID。不幸的是,我沒有任何其他唯一鍵來過濾構建查詢,所以我需要查詢特定的ID。玫瑰:: DB ::對象::管理器查詢與對象ID列表
從本質上講,我想以編程寫如下:
my $list = My::DB::Manager->get_items(query => [
{id => 1},
{id => 14},
{id => 210},
{id => 1102},
{id => 3151},
]);
這是我到目前爲止的代碼,但我一直沒能順利實現我想做的事:
use My::DB::Manager;
my @ary;
foreach (@_) {
my %col = ("id", $_);
push (@ary, \%col);
}
my $list = My::DB::Manager->get_items(query => \@ary);
...
./test.pl
現在腳本只是掛起而沒有輸出不確定。
我試圖避免迭代通過DB ::管理器,並在每個記錄的基礎上進行數據庫調用,因爲此腳本將每60秒通過cron運行,並有可能返回大集。
That worked !,它爲我的數組中的元素拋出了一個錯誤,這是從Sybase SQL查詢中收集的,並且結果將\ x00附加到數組中的每個元素上,導致我正在使用Rose :: DB的Oracle查詢失敗。希望Rose :: DB將得到Sybase的支持。 – Mose