有人可以在这里帮助我吗?我有一个存储过程,当我运行 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级别进行哪些更改才能使其工作,我没有得到变量“结果”的结果?