2011-07-06 7 views
1

データベースと通信するC#アプリケーションで作業しています。データベースに値のリスト/配列を渡して関連レコードセットを取得します

私のアプリケーションでは、ユーザーはリストから複数の項目を選択し、これらの選択項目に関連するデータのレポート/要約をリクエストします。

これらのアイテムIDのリスト/配列をデータベースに渡して、それらに基づいて結果セットをフィルタリングしようとしています。私はすでに実行時にクエリを構築するオプションを持っていますが、もし存在すればより良い解決策を使うことを好むでしょう。

パフォーマンスとメンタビリティに関してこれを行う最も良い方法は何ですか?

ありがとうございます。

答えて

1

あなたは私ならば(私を修正して、これを行うが、あなたは私はあなたがリストを取る手順を作成する支援を必要と仮定2100

+0

申し訳ありませんあなたはOracleとLinqをSqlに使用していることに気付きましたが、Sustain Serverのみがサポートされています。 – saj

0

のアレイ・サイズに制限されますので注意してLINQ to SQLのを使用することができます私は間違っている)。 Oracle側からは、次のようなことがあります。

create or replace package my_package as 
    ... 
    type t_id_tab is table of my_table.id%type index by pls_integer; 
    ... 
    procedure do_work(i_ids in t_id_tab); 
    ... 
end my_package; 

create or replace package body my_package as 
... 
procedure do_work(i_ids in t_id_tab, o_affected_cnt out number) is 
begin 
    forall i in i_ids.first..i_ids.last 

    -- do something useful here, for example 

    insert into some_table(col1, col2, col3) 
    select col1, col2, col3 from some_other_table 
    where id = i_ids(i); 

    o_affected_cnt := SQL%ROWCOUNT; 

    commit; 
end; 
end my_package; 
関連する問題