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

問題は、副選択で and を使用していることです。order byこれfetch 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 節の両方を副選択または全選択ステートメントの一部として指定することで、柔軟性が向上しています。

(DB2 バージョン 9.1 for z/OS - 新機能 GC18-9856-12)

明らかに、DB2 インストールは互換モードで実行されており、新機能モードに切り替えられていないため、この機能はまだ利用できません。

インストールには、CM <-> NFM よりも深刻な問題があることに注意してください。

DB2 for z/OS バージョン 9 のサポートは、2014 年 6 月 27 日に廃止されました。

于 2016-08-19T10:28:15.420 に答える