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 子句直接返回,您可以检查您的过程代码并在那里看到它。
第二个只是使用输入(可能还有输出)参数调用您的过程。
有什么区别
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 子句直接返回,您可以检查您的过程代码并在那里看到它。 第二个只是使用输入(可能还有输出)参数调用您的过程。