1

我尝试在 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。

4

1 回答 1

5

问题是您正在使用order byandfetch 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 日停止。

于 2016-08-19T10:28:15.420 回答