Java/Spring - 存储过程调用字符串的差异

Java/Spring - Difference in Stored Procedure call string

有什么区别

private static final String STORED_PROC_CALL_STRING = "{? = call dbo.test1(?,?,?,?)}"; 

private static final String STORED_PROC_CALL_STRING = "{call dbo.test2(?,?,?,?)}"; 

更具体地说:第一个语句开头的 ? = 背后的含义是什么,以及如何确定我正在调用的存储过程(在 SQL 服务器上)是否需要这还是不是?

编辑:我打算创建一个 CallableStatement 并在其上使用 .prepareCall() 方法,并将提供的字符串作为参数。

谢谢

这是第一个带有“?”的语法开头的标记指的是“stored procedure with return status”,它将由过程返回。此状态由过程使用 RETURN 子句直接返回,您可以检查您的过程代码并在那里看到它。 第二个只是使用输入(可能还有输出)参数调用您的过程。