【发布时间】:2017-03-16 01:18:53
【问题描述】:
JDBC 驱动程序不支持 ROW_NUMBER 函数。从表中读取数据时如何获取从 1 到 n 的行 ID?
如果我有一个包含 2 列作为名字和姓氏的表,那么我在 SQL Server 中运行类似“SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS rowid, * FROM tableName”的查询。这将为我提供从 1 到 n 的 rowid 以及 ResultSet 中名字和姓氏的内容。
所以我会得到如下结果:
1,菲利克斯,曹
2,杰克,陈
3,尼克,霍
我想对 OpenEdge 数据库进行类似的查询,这样我就可以按照上面的顺序获取 rowid。
【问题讨论】:
-
不,您似乎并不真正了解 ROWID 是什么。我认为你需要解释你想解决的问题!
-
好吧,我再问一遍。
-
您的实际需求似乎与 ROWID 无关,而实际需求是您希望您的结果集按顺序枚举?
-
对,我想我想知道的只是有一个类似的方法,比如 ROW_NUMBER,它可以为每一行分配从 1 到 n 的 rowid。所以我可以从结果集对象中读取它。
-
既然您的要求很明确,我已经更新了我的答案。你不会喜欢它,但它就是这样。
标签: java openedge progress-db