当前位置: 首页 > 知识库问答 >
问题:

registerOutParameter在可调用语句中的含义和用途是什么

柴赞
2023-03-14

我本可以问我的一个同事这个问题,但我想如果我需要知道这个,那么其他新手也会知道,所以最好把它放在堆栈溢出上。

callableStatement.registerOutParameter(2, java.sql.Types.VARCHAR);

我得到registerOutParameter返回值,这些值不是ResultSet返回的,也不是ResultSet返回的。我无法想象这将如何发生,也无法想象一个可能的用例是什么。

所以你知道这不是懒惰,到目前为止我已经看过:

  • oracle文档(https://docs.oracle.com/javase/7/docs/api/java/sql/callablestatement.html
  • 如何处理CallableStatement.RegisteroutParameter(1,java.sql.types.Boolean);)
  • https://msdn.microsoft.com/en-us/library/aa286457%28v=vs.60%29.aspx?f=255&mspperror=-2147217396
  • http://tutorials.jenkov.com/jdbc/callablestatement.html
  • 和一堆stackoverflow问题。

共有1个答案

漆雕升
2023-03-14

您的问题是如何在RDBMS中执行存储过程。请注意,通过CallableStatement执行存储过程与返回ResultSetSelect查询的执行非常不同。在执行这样的查询时,RDBMS将返回列的描述,驱动程序使用该描述来知道对数据的期望。

在执行存储过程之前,JDBC规范规定必须为每个OUT参数调用RegisterOutParameter。这是为了向驱动程序指示它应该期望的数据。为什么?因为对于许多RDBMS,无法描述存储过程。用户可以通过这个API定义out参数。司机自己也想不出来。然后,您可以执行存储过程,然后调用CallableStatement上的getters,以获取已注册的OUT参数的值。

 类似资料:
  • 问题内容: 我今天是第一次遇到Python 语句。我已经使用Python几个月了,甚至不知道它的存在!考虑到它的地位有些晦涩,我认为值得一问: 语句旨在用于什么? 你用它来做什么? 我需要了解任何陷阱,还是与其使用相关的常见反模式?有什么比这更好用的情况吗? 为什么没有更广泛地使用它? 哪些标准库类与之兼容? 问题答案: 我相信这已经在我之前的其他用户那里得到了回答,因此我仅出于完整性的考虑而添加

  • 问题内容: 我是Java的新手,这是什么意思?像吗? 如果第二个返回true,将不会执行,对吗? 问题答案: Return语句跳过功能范围的其余执行。 值得读: :http : //docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html :http : //docs.oracle.com/javase/tutorial/java/n

  • 问题内容: 通过与这个有关标签的问题进行类比,我注意到,除了纯注释之外,注释还有多种用途。 例子: go:generate可用于代码生成。 godoc使用函数名称表示应解释的注释 建立约束 还有其他我想念的吗? 那里有确定的清单吗? gocontracts和go- swagger 等一些第三方软件包也可以使用它们。他们如何避免彼此冲突? 问题答案: 如前所述,注释不仅是注释,而且是指令。 撰写本文

  • 使用Apache Poi,我将用于将数据写入Excel电子表格的代码从HSSF转换为SXSSF,以允许在写入大文件时占用更小的内存。我遇到的一个问题是尝试根据数据调整列的大小 我现在抱怨我的专栏没有被追踪到而失败了 我通过添加first修复了这个问题 null 调整列宽以适应内容。 在较大的工作表上,此过程可能相对较慢,因此通常每列只应在处理结束时调用一次。可以指定是考虑还是忽略合并单元格的内容。

  • 问题内容: 系统表master..spt_values的目的是什么? 为什么提供它,以及应该如何使用它? 低,高值类型的含义是什么? 更新: Google搜索提供了成千上万的“用途”,例如: 它包含从0到2047的数字。这非常有用。例如,如果您需要用这个范围内的100个数字填充表格 用于建立索引 创建虚拟日历 以某种非直觉和复杂的方式获取使用对象的描述 枚举SQL Server数据库中的所有索引(

  • 我尝试在浏览控制台中测试此语法,但遇到错误: 对于上面的代码,我关心的是是否会引发任何错误。