java Informix存储过程返回值
我需要创建一个存储过程,它返回一个select语句,比如4-5列的值
我需要从Java应用程序调用它,这样我就不能将输出放入临时表中,因为该临时表无法从另一个会话访问。所以我基本上需要调用存储过程,然后根据返回值创建一个数组列表
返回的数据将是select * from table
你可以在下面搜索框中键入要查询的问题!
我需要创建一个存储过程,它返回一个select语句,比如4-5列的值
我需要从Java应用程序调用它,这样我就不能将输出放入临时表中,因为该临时表无法从另一个会话访问。所以我基本上需要调用存储过程,然后根据返回值创建一个数组列表
返回的数据将是select * from table
# 1 楼答案
将存储过程视为返回值的SELECT语句
在ESQL/C等语言中,您需要准备“EXECUTE PROCEDURE”语句,然后为其声明一个游标,然后在循环中打开、获取和关闭。类似的操作也应该在JDBC和Java中工作——可能的区别是,您可能不需要分离准备和执行阶段
我会拼写“Java”——让我们想想;它以C开头。。。不是吗?像“C”
在ESQL/C中,您将编写(忽略错误检查和变量声明):
三个占位符问号表示传入存储过程的输入值;这些值在打开操作中传递给它。存储过程可以返回(零或)一行或多行数据;每一行依次处理,如图所示
该代码与处理SELECT语句之间的唯一区别在于准备行:
现在,您必须解决如何将上面的ESQL/C转换为JDBC。您可能不需要太担心免费操作——甚至在ESQL/C中,这两个操作中的一个可能是多余的(但无害的)。但是,准备、声明、打开、循环获取和关闭序列将需要复制
我假设您可以阅读手册并知道如何编写Informix存储过程,但以防万一:
这或多或少是一个最小的过程,可以完成你通常不会编写一个简单返回所选值的过程,而不需要对数据做更多的处理