我尝试在 SPUFI 中运行查询:
select * from (select * from emptable
order by empno asc fetch first 10 rows only) as A
order by empno desc fetch first 1 rows only;
返回的错误是:
sqlcode = -4700,错误:尝试在新功能模式之前使用新功能。
我正在运行 DB2 for z/OS 版本 9。
问题是您正在使用order by
andfetch first
在一个子选择中 - 这是一个在 DB2 for z/OS 版本 9 之前不存在的特性:
在 DB2 for z/OS 的先前版本中,仅在语句级别支持 ORDER BY 和 FETCH FIRST n ROWS ONLY 子句作为 select-statement 或 SELECT INTO 语句的一部分。版本 9 通过允许 FETCH FIRST n ROWS ONLY 和 ORDER BY 子句在指定为子选择或全选语句的一部分时提供额外的灵活性。
(适用于 z/OS 的 DB2 版本 9.1 - 新增功能?GC18-9856-12)
显然,您的 DB2 安装仍在兼容模式下运行,并且尚未切换到新功能模式,因此该功能尚不可用。
请注意,您的安装存在比 CM <-> NFM 更严重的问题,因为
对 DB2 for z/OS 版本 9 的支持已于 2014 年 6 月 27 日停止。