Merge two separate UPDATEs into one
I don't know enough about Oracle to know if the below is valid syntax there or not... or if there are niftier tricks specific to that RDBMS.  However, on SQL Server I would do something like this.
/** If you are updating small numbers of rows then this is probably good enough 
    on SQL Server.  Properly indexed tables, etc.
    **/
UPDATE mytab
SET colA = COALESCE(colA, 1)
    , colB = COALESCE(colB, 2)
WHERE EXISTS (SELECT TOP (1) 1 FROM othertab WHERE othertab.id = mytab.otid AND othertab.Lock = 'SomeLock')
    AND (   colA IS NULL
            OR colB IS NULL
            )
            
/** Larger numbers of rows could do better like this.
    **/
UPDATE M
SET colA = COALESCE(colA, 1)
    , colB = COALESCE(colB, 2)
FROM mytab AS M
    INNER JOIN othertab AS O ON O.id = M.otid AND O.Lock = 'SomeLock'
WHERE M.ColA IS NULL
    OR M.ColB IS NULL