How locking works

When the database server processes a transaction, it can lock one or more rows of a table. The locks maintain the reliability of information stored in the database by preventing concurrent access by other transactions. They also improve the accuracy of result queries by identifying information which is in the process of being updated.

The database server places these locks automatically and needs no explicit instruction. It holds all the locks acquired by a transaction until the transaction is completed, for example by either a COMMIT or ROLLBACK statement, with a single exception noted in Early release of read locks.

The transaction that has access to the row is said to hold the lock. Depending on the type of lock, other transactions may have limited access to the locked row, or none at all.


Objects that can be locked
Obtaining information about locks
Schema locks
Row locks
Table locks
Position locks
Locking conflicts
Locking during queries
Locking during inserts
Locking during updates
Locking during deletes
Early release of read locks