Я выполняю следующий код:
simpleJdbcCall.withSchemaName("SCHEMA_NAME")
.withProcedureName(storedProcdure)
.addDeclaredParameter( new SqlParameter("INPUT_PARAMS",Types.LONGNVARCHAR));
// Creating String of input numbers
if (!loanNumbers.isEmpty()) {
for (String str : paramsList)
finalInput = finalInput + str + ";";
finalInput = finalInput + "'";
}
// Preparing map of input params for Stored Procedure
inputParams.put("INPUT_PARAMS", finalInput);
log.info("Input params for Stored Procedure :"+finalInput);
//Input Prepared and finally calling Stored Procedure
SqlParameterSource in = new MapSqlParameterSource(inputParams);
Map<String, Object> resultSet= simpleJdbcCall.execute(in);
Если FinalInput имеет только одно значение, т.е.'123467', SimpleJdbcCall пропустит эти первые параметры, и я не получу никакого результата.Если я запускаю один и тот же SP в любой IDE для того же параметра, я получу результат.
Если у него более двух параметров, например, «123467; 98768», он пропустит первые параметры (123467)и дайте результат для 98768.
В чем причина такого поведения и как мы можем это исправить.