Objectif : Dans une méthode JAVA, appeler une procédure stockée qui retourne un REF CURSOR.
Procédure stockée :
La procédure stockée SELECT PROJET retourne un curseur :
PROCEDURE SELECT_PROJETS
(LISTE_PROJETS OUT CURSEUR_PROJETS);
La classe java qui lit les données à partir du curseur :
import java.sql.*;
public class TEST2 {
public TEST2() {
}
public static void main(String[] args) {
try
{
ConnectionDB cnxDB = new ConnectionDB();
cnxDB.connect();
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
CallableStatement SelectProjects = cnxDB.conn.prepareCall("{call PKG_SERVICE.EMPLOYES_SERVICE(?,?)}");
SelectProjects.setString(1,"INFO");
SelectProjects.setFetchSize(100);
SelectProjects.registerOutParameter(2,oracle.jdbc.driver.OracleTypes.CURSOR);
SelectProjects.executeQuery();
ResultSet rs = (ResultSet)SelectProjects.getObject(2);
// SelectProjects = cnxDB.conn.prepareCall("{ call PKG_SERVICE.EMPLOYES_SERVICE(?) }");
// SelectProjects.setString("P_CODE_SERVICE",args[0]);
// SelectProjects.execute();
while (rs.next())
{
System.out.print(rs.getString("NOM"));
System.out.println(rs.getString("MAIL"));
}
rs.close();
SelectProjects.close();
//return ListProjets;
}
catch(SQLException sqle){
System.out.println(sqle.toString());
}
finally{
//return ListProjets;
}
}
}
Aucun commentaire:
Enregistrer un commentaire