【发布时间】:2019-08-13 05:39:38
【问题描述】:
在我的例子中,保存点是在 Java 中设置的,我正在尝试回滚一个 plsql 过程,该过程在 Java 中使用可调用语句调用。
中间没有提交或回滚,但我仍然看到错误:
ORA-01086:此会话中从未建立保存点“L_SAVEPOINT” 或无效
是不是因为保存点是在 Java 中设置的,而我试图在 plsql 中回滚? 有人可以帮我解决这个问题吗?
【问题讨论】:
-
如何从 java 设置保存点?向我们展示您的代码。
-
你确定这都是在同一个会话中吗?并且中间没有 auto 提交(因为保存点和 PL/SQL 调用大概是对 DB 的两个单独调用)?
-
看起来,java 和 plsql 过程被视为 2 个不同的事务。当我在 PL/SQL 过程中设置保存点并在过程中回滚时,问题得到了解决。
-
很高兴为您工作。您可以使用评论中的信息回答您自己的问题,然后接受您的回答。这样做将帮助其他人找到一个好的解决方案。谢谢!
标签: oracle plsql savepoints