【发布时间】:2014-04-30 23:52:53
【问题描述】:
改写我的问题: 当存储过程不返回结果集(通过打开的游标)而只返回状态码时,org.springframework.jdbc.object.StoredProcedure 的 execute 方法有没有办法提供返回码?
【问题讨论】:
标签: spring stored-procedures db2 resultset
改写我的问题: 当存储过程不返回结果集(通过打开的游标)而只返回状态码时,org.springframework.jdbc.object.StoredProcedure 的 execute 方法有没有办法提供返回码?
【问题讨论】:
标签: spring stored-procedures db2 resultset
看看 GET DIAGNOSTICS 语句 (DB2_RETURN_STATUS):http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0005647.html
使用它有一些限制,因此您可能无法从 Java 中执行它。最好是为存储过程创建一个包装器。
CREATE PROCEDURE P1 ()
BEGIN
RETURN -1;
END @
CREATE PROCEDURE WRAPPER_P1(OUT RETURN_CODE INTEGER)
BEGIN
CALL PROCEDURE P1();
GET DIAGNOSTIC RETURN_CODE = DB2_RETURN_STATUS;
END @
然后只求输出值。
但是,您应该查看 Spring Framework 文档以获取从 sqlca.xml 中提取此信息的任何内容。或者在 DB2 Java 驱动程序文档中。
【讨论】: