您可以使用:
WHERE ROWNUM <= :NUM
…但是表必须包含等于或大于bind变量限制的行。该链接演示了Oracle中的各种行号生成技术。
使用CONNECT BY
,Oracle 10g +:
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
确认monojohnny
可以使用bind变量。尝试在Oracle 9i上运行,尽管CONNECT BY
支持语法会导致ORA-01436错误。
我唯一不是100%的人是CONNECT BY是否会接受来自绑定变量的限制。
参考: