有什么区别
private static final String STORED_PROC_CALL_STRING = "{? = call dbo.test1(?,?,?,?)}";
和
private static final String STORED_PROC_CALL_STRING = "{call dbo.test2(?,?,?,?)}";
更具体地说: 背后的含义是什么? =
在第一个语句的开头,如何确定我正在调用的存储过程(在 SQL Server 上)是否需要这个?
编辑:我打算创建一个 CallableStatement
并使用 .prepareCall()
方法,并将字符串作为参数提供。
谢谢
最佳答案
第一个语法带有“?”开头的标记指的是“stored procedure with return status ”,它将由过程返回。此状态由过程直接使用 RETURN 子句返回,您可以检查过程代码并在那里查看它。 第二个只是使用输入(可能还有输出)参数调用您的过程。
关于Java/Spring - 存储过程调用字符串的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40894863/