Как перебрать несколько результирующих наборов в весеннем JDBC, используя CallableStatementCreator,CallableStatementCallback?

emp_details(emp_name,emp_id,arr_shirt_color,arr_bag_color,days_present, days_absent); 

рассмотреть emp_details это процедура, где

emp_name IN varchar2,
emp_id  IN varchar2,
arr_shirt_color OUT arr_shirt,
arr_bag_color OUT arr_bag,
days_present OUT number,
days_absent  OUT number

arr_bag и arr_shirt идут так

TYPE arr_bag is table of varchar2(6) index by binary_integer;
TYPE arr_shirt is table of varchar2(6) index by binary_integer;

здесь arr_bag_color, arr_shirt_color дает коллекцию оракулов в качестве выходных данных для ex: она дает ["red","black","blue","yellow"].

Как перебрать результирующий набор этого в вызываемых операторах, поскольку есть 4 вывода, в которых 2 являются коллекциями оракула? Пожалуйста, предложите.

return jdbc.execute(new CallableStatementCreator() {
        @Override
        public CallableStatement createCallableStatement(Connection con) throws SQLException
        {
                callableStatement cs= con.prepareCall( call emp_details(?,?,?,?,?,?));

cs.setString("emp_name","XXX")
..
..


        }
    }, new CallableStatementCallback<Set<ResultSet>>() {
        @Override
        public Set<ResultSet> doInCallableStatement(CallableStatement cs) throws SQLException
        {
            Set<ResultSet> results = new HashSet<>();

            boolean resultsAvailable = cs.execute();

            while (resultsAvailable)
            {
                results.add(cs.getResultSet());
                resultsAvailable = cs.getMoreResults();
            }
            return results;
        }
    });

Я должен сделать подобное

0 ответов

Другие вопросы по тегам