Может ли кто-нибудь помочь мне здесь, у меня есть хранимая процедура, которая не возвращает никакого значения, когда я запускаю SP
Запуск как - так в моем Java-коде, который я делаю (exec TestSP(?)
с установкой 1 входного параметра:
на консоли MS SQL, работающей как:
exec TestSP @ErrorDescription=''
На обоих основаниях я ничего не получаю обратно.
я не получаю выходных данных, только что команда успешно завершена, есть идеи, что мне нужно изменить, чтобы эта хранимая процедура возвращала значение?
--TestSP
USE [TESTDB]
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Testtbl] @ErrorDescription VARCHAR(40) OUTPUT
AS
DECLARE @status INT
SET @status = (
SELECT status
FROM Testtbl
)
IF @status = 0
SET @ErrorDescription = 'OK'
ELSE
SET @ErrorDescription = 'FAIL'
RETURN @status
Есть ли что-нибудь, что мне нужно изменить на уровне Java, чтобы это работало, или нужно изменить SP?
Джава:
stmt = connection.prepareCall(sql);
stmt.setString(1, errorDesc);
stmt.registerOutParameter(2, java.sql.Types.VARCHAR);
stmt.executeUpdate();
String result = stmt.getString(2);
System.outprintln("Result is: "+result);
какие изменения нужно сделать на уровне java, чтобы он работал, я не получаю результата в переменной «результат»?