1

在我的例子中,保存点是在 Java 中设置的,我试图回滚一个 plsql 过程,该过程在 Java 中使用可调用语句调用。

两者之间没有提交或回滚,但我仍然看到错误:

ORA-01086 : 保存点 'L_SAVEPOINT' 从未在此会话中建立或无效

是不是因为保存点是在 Java 中设置的,而我试图在 plsql 中回滚?有人可以帮我吗?

4

2 回答 2

1

只是对此有所了解,我的同事在控制事务时遇到了类似的问题,但我在存储过程中有一个提交。从 SP 中删除 Commit/Rollback,如果你想从 Java 控制事务,你应该准备好。

于 2019-03-22T13:23:24.870 回答
0

Java 和 plsql 过程被视为 2 个不同的事务。当我在 PL/SQL 过程中设置保存点并在过程中回滚时,问题得到了解决。

于 2021-08-04T10:07:53.750 回答