Der fehlende "order by" war sicherlich nicht der Grund, dass du alle Sätze gelesen hast ("order" ist schließlich nur für den Sort und nicht für die Auswahl verantwortlich). Vielleicht hattest du die Where-Klausel gleich mit entfernt ?

update-clause
for update [of column-name, ...]
The UPDATE clause identifies the columns that can be updated in a subsequent positioned UPDATE
statement. Each column-name must be unqualified and must identify a column of the table or view
identified in the first FROM clause of the fullselect. If the UPDATE clause is specified without column
names, all updateable columns of the table or view identified in the first FROM clause of the fullselect are
included. The clause can appear either before or after an accompanying optimize-clause.
The FOR UPDATE OF clause must not be specified if the result table of the fullselect is read-only (for
more information see “DECLARE CURSOR” on page 374), if the FOR READ ONLY clause is used, or if
the SCROLL keyword is specified without the DYNAMIC keyword on the DECLARE CURSOR statement.
Positioned UPDATE statements identifying the cursor associated with a select-statement can update all
updateable columns, if:
v The select-statement does not contain one of the following:
– An UPDATE clause
– A FOR READ ONLY clause
– An ORDER BY clause
v The DECLARE CURSOR statement does not contain a SCROLL keyword without the DYNAMIC
keyword.
The UPDATE clause is a performance option that is not part of ISO/ANSI SQL.