db2调用一个过程并从另一个过程接收引发的错误

时间:2012-09-06 12:16:33

标签: java db2 signals procedure sqlexception

我正在从java调用db2存储过程(p1)。

此过程在表上进行一些插入,插入后有一个触发器。触发器调用另一个过程(p2),引发异常'SIGNAL SQLSTATE'50000'SET MESSAGE_TEXT ='错误';

我的被叫db2过程成功运行,我不应该在java调用者中获得SQLException。但是我的java代码,我收到了sqlexception,好像过程p1已经引发了它。

为什么db2会像这样起作用,如何防止它?


稍后编辑

另一件事可能发生。

在该数据库的db internal kitchen中可能会出现问题,所以当我调用过程时,db2实际执行过程p2。

不幸的是,我无法访问发生问题的系统,所以我只能质疑发生了什么。

您怎么看?哪种情况更合理?

1 个答案:

答案 0 :(得分:0)

您确定它是一个触发器,第二个程序是作为一个单独的任务运行吗?

我想你的程序代码是这样的:

procedure1()
begin
//do smth
result = procedure2();
//do smth else
end

这就是你得到例外的原因。