-1

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

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

我调用的 db2 程序运行成功,我不应该得到一个SQLExceptionin java 调用者。但是我的java代码,我收到了sqlexception,好像过程p1已经提出了它。

为什么 db2 会这样,我该如何防止呢?


稍后编辑

可能会发生另一件事。

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

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

您认为哪种情况更合理?

4

1 回答 1

0

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

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

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

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

于 2012-09-06T14:03:42.153 回答