The locks assigned to a transaction are usually released at the end of the transaction, making the respective database objects accessible again to other transactions.
The following rules apply:
· The locks requested by the LOCK statement are usually released when the transaction ends, provided that the COMMIT statements or the ROLLBACK statements that end a transaction do not also contain a LOCK statement.
· The length of time for which an implicit shared lock is held depends on the isolation level.
· Exclusive locks for rows that have not yet been modified and shared locks on rows can be released by the UNLOCK statement before the end of the transaction.
· Exclusive locks set implicitly cannot be released within a transaction.
· Exclusive locks on updated rows, exclusive locks that were requested by an SQL statement that leads to a change (INSERT, UPDATE, DELETE), and table blocks cannot be released within a transaction, only after the transaction has ended.