|
![]() |
#1 |
Administrator
|
Я как-то давно сталкивался с проблемой в том, что несмотря на то, что хранимая процедура как бы возвращает значение - она реально его не возвращает (дело было еще в аксессе, но это фича общая).
Т.е. ошибка не в разрешении самом, а в использовании метода executeQuery() вместо executeUpdate(). Для решения проблемы нужно сделать одно из двух действий: а) Заменить вызов executeQuery() на executeUpdate() и отказаться от анализа результатов отработки процедуры (от resultSet) б) Заменить процедуру функцией, которая возвращает таблицу. В этом случае нужно вместо exec procedure() писать select * from function()
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: Poleax (5). |
![]() |
#2 |
Модератор
|
Цитата:
Сообщение от sukhanchik
![]() Я как-то давно сталкивался с проблемой в том, что несмотря на то, что хранимая процедура как бы возвращает значение - она реально его не возвращает (дело было еще в аксессе, но это фича общая).
Т.е. ошибка не в разрешении самом, а в использовании метода executeQuery() вместо executeUpdate(). Для решения проблемы нужно сделать одно из двух действий: а) Заменить вызов executeQuery() на executeUpdate() и отказаться от анализа результатов отработки процедуры (от resultSet) б) Заменить процедуру функцией, которая возвращает таблицу. В этом случае нужно вместо exec procedure() писать select * from function() Цитата:
Пользовательская функция не может выполнять действия, изменяющие состояние базы данных.
Последний раз редактировалось Poleax; 11.05.2010 в 12:10. |
|
|
|