仅检索StoredProcedure(Spring)的执行状态

时间:2014-04-30 23:52:53

标签: spring stored-procedures db2 resultset

改述我的问题: 当存储过程没有返回结果集(通过打开游标)但只返回状态代码时,org.springframework.jdbc.object.StoredProcedure的execute方法是否会提供返回代码?

1 个答案:

答案 0 :(得分:0)

查看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中提取此信息的任何内容。或者在DB2 Java驱动程序文档中。