The DB2 equivalent syntax is probably https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/perf/src/tpc/db2z_fetchfirstnrows.html[``++FETCH FIRST n ROWS ONLY++``].
For PLSQL, selecting only a given number of rows is usually done with ``++ROWNUM++``. However, http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html[``++ROWNUM++`` is very different from ``++TOP++``]. We may think of a different rule for PLSQL where we detect that "where rownum < x" and "order by" are used in the same query instead of "order by" being used in a subquery.
Thanks [~pierre-yves.nicolas]. I thought I remembered using ``++top++`` with Oracle, but that was admittedly more than 10 years ago. I've updated the targeted languages.
\[~ann.campbell.2] Do you want to create another rule for PLSQL to catch the error mentioned on http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html[Oracle "Ask Tom"]?
____That is why a query in the following form is almost certainly an error: