Oracle/c#: Wie kann ich die verwenden Sie bind-Variablen mit select-Anweisungen zur Rückgabe mehrerer Datensätze?

Ich habe eine Frage bezüglich Oracle bind-Variablen und select-Anweisungen.

Was ich erreichen möchte ist ein select auf eine Anzahl unterschiedliche Werte für den Primärschlüssel. Ich möchte, übergeben Sie diese Werte über ein array bind-Werte.

select * from tb_customers where cust_id = :1

int[] cust_id = { 11, 23, 31, 44 , 51 };

Ich dann binden Sie ein DataReader um die Werte in eine Tabelle ein.

Das problem ist, dass die resultierende Tabelle enthält nur einen einzelnen Datensatz (für cust_id=51). Es scheint also, dass jede Anweisung, die ausgeführt wird, unabhängig voneinander (wie es sollte), aber ich würde gerne die Ergebnisse werden als kollektive (einzelne Tabelle).

Workaround ist das erstellen einer temporären Tabelle, einfügen, alle Werte von cust_id und dann einen join gegen tb_customers. Das problem bei diesem Ansatz ist, dass ich würde verlangen, dass temporäre Tabellen für jede andere Art von primären Schlüssel, so möchte ich diese gegen eine Reihe von Tabellen (einige haben sogar kombinierte primary keys).

Ist es etwas, was ich bin fehlt?

InformationsquelleAutor twiga | 2010-05-26
Schreibe einen Kommentar