如何回滚在 db2 中调用另一个过程的存储过程的事务

how to rollback the transaction of a stored Procedure calling in another procedure in db2

我正在将存储过程调用到另一个存储过程中,现在如果第一个存储过程出现任何错误,那么我想回滚该存储过程的事务,因为 DB2 在调用完成后提交存储过程的事务。

那么怎么做呢?

根据您的描述,听起来您的应用程序执行 CALL B()。并且存储过程B执行CALL A()语句。

除非任一存储过程包含 COMMIT 语句(这违反最佳实践),否则由调用应用程序确定 CALL B() 语句是否成功,并决定是否发布 COMMITROLLBACK 声明。执行 ROLLBACK 应该回滚 any/all 由 BA 所做的更改。