I know that in case of DML statement row lock is acquired on the rows which are modified, but I am confused below of below statement from this Oracle doc:
A transaction that contains a DML statement does not require row locks on any rows selected by a subquery or an implicit query.
In the following sample UPDATE statement, the SELECT statement in parentheses is a subquery, > whereas the WHERE a > 5 clause is an implicit query:
UPDATE t SET x = ( SELECT y FROM t2 WHERE t2.z = t.z ) WHERE a > 5;
My understanding is that lock will be acquired for all rows WHERE a > 5 but this article seems to be saying contrary.
Could an Oracle expert please explain this.