2016-10-06 2 views
0

Ich möchte die Einrichtung eines select-Anweisung haben, wieProgrammatically Bind-Variable "in" -Klausel in Oracle SQL (ADF)

select * from someTable 

Dann folgt meiner Ansicht nach Objekt die where-Klausel programmatisch festgelegt Ich muss:

setWhereClause("department_ids in (:ids)"); 
setNamedWhereClauseParam("ids", [1,2,3]); 
executeQuery(); 

Ist das möglich?

Danke!

+1

Ich finde meine Fähigkeit zum Schreiben von ADF-Seiten ist direkt proportional zu meiner Fähigkeit zu Google. Siehe http://java.net/projects/smuenchafdf/sources/samples/content/VariableInListUsingDBFunction.zip. Die Idee besteht darin, dass ADF eine kommagetrennte Liste in einer einzelnen Variablen weitergibt und die Oracle-Datenbank dafür verantwortlich ist, diese in einen 'IN (SELECT column_value FROM TABLE (...)) Ausdruck zu konvertieren. –

+0

Was ist Ihre ADF (JDeveloper) Version? Wenn Sie mit 12c, gibt es eine saubere Lösung - benutzerdefinierte Betreiber. Bei 11g und earler Versionen müssen Sie die @MatthewMcPeak Lösung oder etwas Ähnliches verwenden. – Nagh

Antwort

0

Sie können RowQualifier verwenden, um die Zeilen mit Where-Bedingung zu filtern.

Das filteredRows-Array enthält die Zielzeilen, falls gefunden.