私はRose :: DB :: Objectクエリ文字列をArrayまたはHashのどちらかを使って記述しようとしていますが、それをするために。私は配列に列挙されているリスト内の特定のIDに基づいて更新関数を記述しようとしています。残念ながら、クエリをビルドするためにフィルタするための他のユニークなキーがないので、特定のIDをクエリする必要があります。オブジェクトIDのリストを持つRose :: DB :: Object :: Managerクエリ
基本的に私はプログラム的にフォローを記述しようとしています:
:my $list = My::DB::Manager->get_items(query => [
{id => 1},
{id => 14},
{id => 210},
{id => 1102},
{id => 3151},
]);
は、これは私がこれまで持っていますが、私は成功した私がやろうとしています何を達成することができていないコードであります今、スクリプトは単に無期限なしの出力でハング
./test.pl
use My::DB::Manager;
my @ary;
foreach (@_) {
my %col = ("id", $_);
push (@ary, \%col);
}
my $list = My::DB::Manager->get_items(query => \@ary);
...
。
私はこのスクリプトが60秒ごとに実行され、大きなセットを返す可能性があるため、DB :: Managerを繰り返し実行することを避け、レコード単位でDB呼び出しを行っています。
これはうまくいった!、それはSybase SQLクエリから収集された配列内の要素に対してエラーを投げたが、その結果は配列の各要素に\ x00が追加され、Oracleクエリを引き起こしている。失敗する。うまくいけばRose :: DBはSybaseのサポートを受けるでしょう。 – Mose