2010-05-29 4 views
0

J'utilise Java pour me connecter à une base de données Oracle 10. Je veux créer une procédure stockée (ne demandez pas pourquoi) qui ne prend pas d'arguments et retourne beaucoup de lignes. Plus précisément, en Java, je veux être en mesure d'obtenir ce données avec quelque chose comme:Comment obtenir une sortie dans Java à partir d'une procédure stockée SELECT dans Oracle?

ResultSet rs = stmt.executeQuery("call getChildless"); 

où getChildless est la requête:

SELECT objectid 
FROM Object 
WHERE objectid NOT IN (SELECT parent FROM subparts); 

Cependant, je ne peux pas pour la vie de me comprendre comment obtenir ma sortie de la procédure stockée. Je l'ai googlé et je reçois tout cet exemple de code que Oracle ne compilera pas, probablement pour une version précédente de . Les refcursors semblent beaucoup, mais je ne suis pas sûr si c'est ce que je veux vraiment, pour l'utiliser avec un ResultSet.

+0

Un curseur ref est certainement le moyen de passer un tas de dossiers en un ResultSet. Donc, je pense que le problème que nous devons résoudre est l'échec de la compilation. Cela aiderait beaucoup si vous deviez poster (le plus petit ruban possible) votre code et les erreurs de compilation. – APC

+0

getChildless ne peut pas être une requête. Cela pourrait être une procédure, une fonction ou une vue. La façon dont vous pourriez en extraire les résultats dépend de ce que c'est. –

Répondre

0

Je présume que Oracle JDBC est comme MS-SQL JDBC ...

while (rs.next()) 
{ 
    myint = rs.getInt(1); 
} 
Questions connexes