To stop the request, you must perform two tasks:
- The actual Oracle process must be notified that you want to cancel the request
- If the request made any changes to the database (DDL, DML), the work should be discarded.
First and foremost, the Oracle process executing the request must check from time to time whether it should cancel the request or not. Even when it performs a large task (for example, a large HASH JOIN), I think it checks every 3 seconds or so (I am looking for the source of this information, I will update the answer if I find it). Is your software now able to communicate correctly with Oracle? I am not familiar with SLQ Navigator, but I suppose the cancellation mechanism should work like with any other tool, so I assume that you are expecting a second point:
, , ( Oracle, ). DML , ( : Oracle , ). ( DML), , , .
- SELECT, , ( ) - .