"FOR UPDATE NOWAIT" does no row locking?!
Posted: Mon 23 Jul 2007 13:39
Dear sirs!
I wrote on application in delphi5 with odac 5.8 on an oracle 10g database. In this app you can enter sql commands which will be executed using an OraQuery component. So if I select one row from a test table in app1 ("SELECT * FROM TEST WHERE ID = 1 FOR UPDATE NOWAIT") and do the same thing in app2 there should be an ORA-00054 error but it is not! I can select the same row with nowait option in the 2nd application! If I then do an update the 2nd application is blocked until the transaction is finished.
Why does the TOraQuery component not block the row when I use "FOR UPDATE NOWAIT"? Using SQLPlus the same commands work as expected; I realized that there are 2 blocking informations using SQLPlus but only one using my app?!
I searched for "NOWAIT" in this forum but did not found a solution for my problem.
Thx in advance
Detlev Moehring
I wrote on application in delphi5 with odac 5.8 on an oracle 10g database. In this app you can enter sql commands which will be executed using an OraQuery component. So if I select one row from a test table in app1 ("SELECT * FROM TEST WHERE ID = 1 FOR UPDATE NOWAIT") and do the same thing in app2 there should be an ORA-00054 error but it is not! I can select the same row with nowait option in the 2nd application! If I then do an update the 2nd application is blocked until the transaction is finished.
Why does the TOraQuery component not block the row when I use "FOR UPDATE NOWAIT"? Using SQLPlus the same commands work as expected; I realized that there are 2 blocking informations using SQLPlus but only one using my app?!
I searched for "NOWAIT" in this forum but did not found a solution for my problem.
Thx in advance
Detlev Moehring