Я подключаюсь к SQL Server (2005) через Java, используя JDBC-драйвер Microsoft SQL Server 2.0.
Как получить возвращаемое значение из хранимой процедуры? Я делаю что-то вроде:
Connection connection = dataSource.getConnection()
CallableStatement proc = connection.prepareCall("{ call dbo.mySproc() }");
proc.execute();
Должен ли я использовать execute()? ExecuteQuery()? executeUpdate()? Ни один из них, похоже, не возвращает возвращаемое значение по умолчанию, но я не совсем уверен, как добраться до него.
EDIT 1: Чтобы быть ясным, я знаю, как вызвать хранимые процедуры. Этот вопрос конкретно касается того, как получить значение RETURN VALUE (в отличие от набора результатов). Возвращаемое значение представляет собой целое число, которое обычно генерируется при выполнении запроса без набора результатов или если в вашем SQL указано как-то вроде RETURN 0
.
EDIT 2: executeUpdate() возвращает int, но этот int не совпадает с возвращаемым значением. Кроме того, параметр OUT не совпадает с возвращаемым значением.