2016-11-29 2 views
1

J'ai écrit une procédure avec un curseur dans Oracle 11g pour pouvoir l'utiliser en code Java. Quelqu'un peut-il me dire comment je peux utiliser cette procédure et l'appeler à partir du code Java?Procédure stockée appelant dans Oracle PL/SQL

create or replace 
PROCEDURE show_students 
(
students_cursor OUT SYS_REFCURSOR 
)AS 
BEGIN 
OPEN students_cursor FOR 
SELECT * from students; 
END show_students; 
+0

Tout effort apprécié! –

+0

http://www.xyzws.com/javafaq/how-to-call-a-stored-procedure-by-jdbc-java-class/169 – Dhwani

Répondre

0

utiliser ceci:

CallableStatement stmt = connection.prepareCall("BEGIN SHOW_STUDENTS(?); END;"); 
stmt.registerOutParameter(1, OracleTypes.CURSOR); //REF CURSOR 
stmt.execute(); 
rs = ((OracleCallableStatement)stmt).getCursor(1); 

Je suggère d'utiliser la fonction dans ce cas, au lieu de la procédure.

Notez que je suppose que vous avez la connexion DB "connexion"

Source: How do I return a sys_refcursor from oracle SP in java?