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

时间:2019-03-22 09:06:09

标签: oracle plsql savepoints

在我的情况下,保存点是在Java中设置的,而我试图回退一个plsql过程,该过程在Java中是使用可调用语句调用的。

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

  

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

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

2 个答案:

答案 0 :(得分:0)

仅此一点,我的同事在控制事务时遇到了类似的问题,但是我在存储过程中有一个提交。从SP删除Commit / Rollback,如果要从Java控制事务,则应该一切就绪。

答案 1 :(得分:0)

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