Вот мой код pl/sql, который я пытаюсь выполнить с помощью prepareCall
String sql = String.format(FunctionCalls.TRIGGER1);
CallableStatement callableStatement = null;
Integer result = null;
String err = null;
try {
callableStatement = connection.prepareCall(sql);
callableStatement.execute();
result = callableStatement.getInt("RES_CODE");
err = callableStatement.getString("RES_DESC" );
После выполнения я хочу получить два объявленных параметра, RES_CODE
и RES_DESC
, но вместо этого получаю эту ошибку:
java.sql.SQLException: ORA-06550: строка 2, столбец 1274:\nPLS-00103: обнаружен символ \"ЗАКРЫТЬ\" \n
Погуглив, многие думают, что проблема в курсоре, что нужно объявлять курсоры в секции объявлений и курсор процесса после BEGIN, но я делаю так, как написано. В PL/SQL Developer все работает нормально, вы можете видеть на картинке.
Возможно ли в java получить объявленный параметр после выполнения?
Можно ли выполнить код TRIGER1 pl/sql и получить два параметра RES_CODE
и RES_DESC
?