Knowing when a row is locked by another user
In Visual Basic/Oracle, can I test the return code from a "select for update"? I would like to know when the row is locked by another user.
Write a SELECT ..... FOR UPDATE NOWAIT SQL statement. If the row is locked, you will get an "ORA-0054 ERROR: resource is busy" error message. If no error is given, then you are locking the record. After the update, you must release locks by COMMITTING the changes.
For More Information
- Dozens more answers to tough Oracle questions from Eli Leiba are available here.
- The Best Oracle Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.