1
Я хранимая функцию настройки следующим образом:Java - Вызов хранимой функции, которая возвращает курсор
CREATE OR REPLACE PACKAGE PACKAGENAME IS
FUNCTION READ_FUNC(i_name IN VARCHAR2)
RETURN SYS_REFCURSOR;
END PACKAGENAME;
/
CREATE OR REPLACE PACKAGE BODY PACKAGENAME AS
FUNCTION
READ_FUNC(i_name IN VARCHAR2)
RETURN SYS_REFCURSOR
IS
cursor SYS_REFCURSOR;
BEGIN
//do stuff
RETURN cursor;
END READ_FUNC;
Я пытаюсь вызвать его в Java следующим образом, но я получаю not a valid function or procedure name
try(CallableStatement stmt = conn.prepareCall("call PACKAGENAME.READ_FUNC(?)")
{
stmt.setString(1, name);
ResultSet result = stmt.executeQuery();
// do stuff with result
}
Это определенно существует, потому что я могу desc PACKAGENAME
, и у меня есть моя функция. Мне также удалось вызвать другие процедуры. Кто-нибудь знает, что я делаю неправильно?