【发布时间】:2015-07-18 01:47:06
【问题描述】:
我正在从 jdbc 执行一个存储过程。该过程通过选择查询返回表“out_table”的内容,该表由 2 列键和值组成。
我正在使用
String query = "{? = call my_proc}";
try {
stmt = conn.prepareCall(query);
stmt.registerOutParameter(1, Types.JAVA_OBJECT);
boolean results = stmt.execute();
while (results) {
ResultSet rs = stmt.getResultSet();
if(rs.next()) {
System.out.println(rs.getString("MSG"));
System.out.println(rs.getInt("SEQ"));
}
}
我无法得到任何结果。我可以看到很多示例,它们仅从 proc 中返回表的单个字段,而不是整个表。 'Types.JAVA_OBJECT' 类型,我不知道该用什么。对我来说,输出表字段分别是字符串和整数。
我做错了什么?
注意:my_proc:
CREATE PROCEDURE my_proc
AS
BEGIN
CREATE TABLE #tmp_table
(
MSG VARCHAR(255),
SEQ INT
)
//Insert contents into #tmp_table
..
..
..
SELECT * FROM #tmp_table ORDER BY SEQ
END
go
【问题讨论】:
-
你的存储过程是否返回了一些东西?你能发布你的存储过程代码吗?
标签: java stored-procedures jdbc sybase