Derby没有rownum功能吗?
在oracle中,我可以选择前3行,如下所示。
select * from a where rownum < 3
在这里,他们建议如下。但这很乏味。
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
columns
FROM tablename
) AS foo
WHERE rownumber <= n
请注意,Derby还支持FETCH FIRST语法,如下所述:http : //db.apache.org/derby/docs/10.11/ref/rrefsqljoffsetfetch.html#rrefsqljoffsetfetch
Derby故意避免使用非标准的SQL构造。在学习过程中,使用此类特定于供应商的方法可能很方便,但也会导致应用程序无法移植。
使用标准SQL语法的优点是,当您将应用程序移至另一个DBMS实现时,您不太可能出现兼容性问题。在这种情况下,Derby坚决遵守标准SQL可能是一个好处:如果使用像Derby这样的DBMS开发应用程序,则可能会成功地将应用程序部署在另一个标准较低的DBMS上。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句