场景说明
该场景属于“查询与 DML 语法”,适用于 sql、mybatis、plsql。权威状态:可进入权威统计。
正向识别示例
以下均来自规则库中 should_hit=true 的合成公开示例,不是客户代码。
SELECT * FROM t WHERE ROWNUM <= 10
SELECT * FROM (SELECT t.*, ROWNUM rn FROM t) WHERE rn BETWEEN 11 AND 20
21 个精确目标版本 / 模式
| 目标 | 支持度 | 证据等级 | 公开边界 | 深入核对 |
|---|---|---|---|---|
| 达梦 DM8 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| GoldenDB V6 | full | doc_based | GoldenDB V6 官方白皮书明确列出 ROWNUM;6.1.03.10 真机已确认平台原始 ROWNUM<=20 查询可执行。同层 ORDER BY、稳定 Top-N 与双层分页仍建议 PoC 复核。 | — |
| 瀚高 HGDB 4.5 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| 人大金仓 KingbaseES V8 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| OceanBase 4.2.5 MySQL 模式 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| OceanBase 4.2.5 Oracle 模式 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| OceanBase 4.3.5 MySQL 模式 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| OceanBase 4.3.5 Oracle 模式 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| openGauss 5.0 A 模式 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| openGauss 6.0 A 模式 | full | version_observed | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| PolarDB(Oracle 兼容)2.0 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
| PostgreSQL 16 + orafce 4.16 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| PostgreSQL 16 | none | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | 改造点 |
| 神通数据库 7 | full | doc_based | 未登记额外公开说明,按来源与验证步骤复核。 | — |
展开 7 个 unknown / undeclared 结论
| GaussDB 505(ORA 模式) | unknown | unverified | 当前事实源不足,不推断兼容。 |
| GBase 8s | unknown | unverified | 当前事实源不足,不推断兼容。 |
| openGauss 6.0 B 模式(Dolphin) | unknown | unverified | 当前事实源不足,不推断兼容。 |
| 磐维 PanWeiDB 2.0 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| 磐维 PanWeiDB 3.0 A 模式 | unknown | unverified | 当前事实源不足,不推断兼容。 |
| TDSQL Boundless | unknown | unverified | 当前事实源不足,不推断兼容。 |
| TiDB 8.5 | unknown | unverified | 当前事实源不足,不推断兼容。 |
改造与验证路径
推荐方向
app_side · 投影编号先物化源表达式并按已确认的稳定顺序改 ROW_NUMBER();Top-N 必须区分同层 ORDER BY (Oracle 先赋 ROWNUM 再排序)与内层排序后外层限行,不能一律改 LIMIT。双层分页在内层排序并编号, 再由外层按范围过滤。直接查询块的 ROWNUM > 1、ROWNUM >= 2 或 ROWNUM = 2 通常为空集,禁止改成 OFFSET;只有已物化的内层 rn 别名范围谓词才能按上下界计算 OFFSET/LIMIT。
库侧
按 ROWNUM 所在查询块分类改 FETCH 或 ROW_NUMBER(),投影编号先确认业务排序键 · 风险 review
应用侧
分页组件只承接已确认的 Top-N/双层分页;投影与不可能谓词逐句处理 · 风险 review
验收步骤
分别回归投影编号、无排序/同层排序/内层排序 Top-N、双层分页和 ROWNUM > 1;覆盖页首页尾、并列键并逐页比对无重复遗漏;建议 PoC 复核执行顺序、结果集与计划