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

标签 java sql-server stored-procedures spring-batch

有什么区别

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/

相关文章:

c# - 从 C# 代码调用时查询抛出异常

sql-server - SQL Server 中的多对多关系 - 当基表中未发生插入时在外表中添加引用

使用接收器存储过程的 Azure SQL 数据工厂复制事件

java - 默认值在 hibernate 中不起作用

java - jackson 序列化: Wrap fields

java - 使用 javax.mail 读取本地 POP3 收件箱

MySQL存储过程,处理多个游标和查询结果

java - 如何使用 Java 配置将 Jasypt 与 Spring 4 应用程序集成?

sql - 如何根据另一个表中另一列的值更新列?

sql-server - 创建表后调用插入时出现 "Invalid column name"错误