【问题标题】:Delete query is not working form java application删除查询在 java 应用程序中不起作用
【发布时间】:2012-04-06 00:24:31
【问题描述】:

我有一张有 4 列的表格 c1, c2, c3, c4c1c2 构成表的主键。

当我在 Java 中运行以下命令时,它会挂在我的应用程序中。

DELETE from mytable 
 where c1 = 'val' 
   and c2 = 'val2'

但是,相同的查询在 Oracle DB 控制台中运行得非常好。当我运行 DELETE from mytable where c3 = 'val' 时,它在我的应用程序中运行良好。

可能是什么原因?

【问题讨论】:

  • c1c2的数据类型是什么?在这两种情况下,您是否获得不同的查询计划?您在这两种情况下都使用字符串文字吗?还是您在一种情况下使用绑定变量?

标签: oracle jdbc oracle10g


【解决方案1】:

也许只有一个 Oracle 会话会阻塞另一个。在这种情况下,“控制台”会话会阻止 Java 应用会话。 尝试在“Oracle DB 控制台”会话中提交。

当您从一个会话中删除一些行而不提交,然后尝试从另一个会话(Java 应用程序)中删除相同的行时,它将挂起,直到第一个会话提交(或回滚)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2021-10-12
    • 1970-01-01
    • 2017-08-05
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多