У меня есть хранимая процедура в моей базе данных, которая содержит сводную инструкцию.
create or replace procedure example1(var1 OUT SYS_REFCURSOR)
is
DATE_FROM date;
DATE_TO date;
begin
DATE_TO := sysdate;
DATE_FROM := sysdate -10;
open var1 for
select *
from
( select m as MONTHS, s as SERIES, SUM(t) as N
from tablename
WHERE dateletter BETWEEN date_from AND date_to
group by m, s
ORDER BY m
)
PIVOT XML (SUM(N) as TOTALSUM for SERIES in (select distinct s from tablename where dateletter between date_from and date_to group by s));
END example1;
Это прекрасно работает, и это показывает что-то вроде этого
Month SERIES_XML
2 oracle.jdbc.driver.ORACLESQLXML@d77ww5
Сейчас в моем классе Java
CallableStatement acs1;
acs1 = generalcon.con.prepareCall(getCursor);
acs1.registerOutParameter(1, OracleTypes.CURSOR);
acs1.executeQuery();
ars1 = (ResultSet) acs1.getObject(1);
while(ars1.next())
{
String ser = ars1.getString(2);
xmlst = xmlst + ser;
}
Однако ars1.getString(2)
возвращает нулевое значение, где 1 - это ColumnIndex
Я пытался с ars1.getString('SERIES_XML')
, но тот же результат.
Можете ли вы помочь мне получить правильное имя столбца и соответствующее значение, пожалуйста