Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- variable id refcursor
- variable item refcursor
- variable amount refcursor
- exec getdata (123,date1,date2, :id, :item, :amount) ;
- print id;
- print item;
- print amount;
- SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
- // Setup Database Connection
- DataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName("oracle.jdbc.OracleDriver");
- dataSource.setUrl("jdbc:oracle:thin:@X.X.X.X:1521:SID");
- dataSource.setUsername("username");
- dataSource.setPassword("password");
- CallableStatement storedProcedureCall = null;
- Connection connection = null;
- try {
- connection = dataSource.getConnection();
- OracleConnection oracleDatabaseConnection = connection.unwrap(OracleConnection.class);
- // Procedure
- storedProcedureCall = connection.prepareCall("{ call getdata (?, ?, ?) }");
- // Input
- storedProcedureCall.setLong(1, 123);
- storedProcedureCall.setDate(2, sdf.parse("01/01/2017"));
- storedProcedureCall.setDate(3, sdf.parse("16/10/2017"));
- // Output
- storedProcedureCall.registerOutParameter(4, OracleTypes.CURSOR);
- storedProcedureCall.registerOutParameter(5, OracleTypes.CURSOR);
- storedProcedureCall.registerOutParameter(6, OracleTypes.CURSOR);
- // Execution
- storedProcedureCall.execute();
- // Extract result
- ResultSet rs1 = (ResultSet) callableStatement.getObject(4);
- ResultSet rs2 = (ResultSet) callableStatement.getObject(5);
- ResultSet rs3 = (ResultSet) callableStatement.getObject(6);
- // Print rs1
- while (rs1.next()) {
- String col1 = rs1.getString("COL1");
- String col2 = rs1.getString("COL2");
- System.out.println("col1 : " + col1);
- System.out.println("col2 : " + col2);
- }
- } catch (Exception exception) {
- throw exception;
- } finally {
- if (storedProcedureCall != null) {
- storedProcedureCall.close();
- }
- if (connection != null) {
- connection.close();
- }
- }
Add Comment
Please, Sign In to add comment