Delete query is not working form java application

2019-09-19 14:11发布

问题:

I have a table with 4 columns c1, c2, c3, c4. c1 and c2 form the primary key of the table.

When I run the following in Java then it hangs in my application.

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

However, the same query runs in the Oracle DB console perfectly fine. When I run DELETE from mytable where c3 = 'val' it works perfectly fine from my application.

What could be the reason?

回答1:

Maybe just one Oracle session blocks another. In this case "console" session block Java app session. Try to COMMIT in your "Oracle DB console" session.

When you delete some rows from one session without commiting and then try to delete the same rows from another session (Java app) it will hang until first session commits (or rollbacks).