Nun, bei ODBC/JDBC/OLEDB kommt man an den CursorNamen des Treibers meist nicht dran.
Beim "current of CursorName" muss dieser ja explizit angegeben werden.

Hier hilft nur tatsächlich ein UniqueKey für die Zieltabelle.
Ab V7R1 gibt es einen internen Index für die RRN().

Also
select rrn(myfile) as rrnnr, blabla ...

update myfile ... where rrn(myfile) = rrnnr

Vor V7 kann das schon mal eine etwas längere Aktion werden.
Eine Satzsperre erfolgt natürlich erst beim Update, nie beim Lesen.