有人可以告诉我这个查询有什么问题

时间:2011-06-14 16:17:51

标签: sql oracle jdbctemplate

UPDATE trans_actual SET comment_id = ? 
WHERE id = (SELECT MAX(id) 
            FROM trans_actual 
            WHERE plan_id = ?) 
  

org.springframework.jdbc.BadSqlGrammarException:   PreparedStatementCallback;糟糕的SQL   语法SQLException:ORA-02049:   超时:分布式事务   等待锁定

它在SQLDeveleloper中运行良好。

1 个答案:

答案 0 :(得分:2)

查询看起来很好。它看起来像一个事务锁定问题。在这种问题中,只有你可以确定锁定的位置,因为你不能在这里发布你的整个代码。

此外,您可能还有其他应用访问同一个数据库。你必须检查事务隔离级别,并发性,整个九码。

您是否搜索过ORA-02049?它应该给你一些提示。