0

Datacom を扱っている Java/Groovy 開発者はいますか?

Datacom の Java ドライバーでは、次のようなことができないようです。

select top n column from table

また

Order By Rnd

構文エラーの例外をスローすることなく。

私がやろうとしていることの要点は、テーブルからランダムに選択されたトップ n またはランダムに選択された分です。ランダム化は重要です。

このクエリは、「group by」行で失敗します。

Select min(column) as columnAlias From table
Inner Join anotherTable On table.column = anotherTable.column
Group By Rnd(numericColumn)
Order By Rnd(numericColumn)

このクエリは「select top」行で失敗します - カーソルを宣言する必要があるようです (エラーは DECLARE SQL_JCUR_CA_1 CURSOR FOR SELECT TOP 5 です)。これは本当に奇妙に思えます。

Select top n column as columnAlias From table

これらのクエリは、MS Access で正常に実行されます。私は Datacom SQL docs に目を通しましたが、潜在的な問題として何も飛び出していません。

4

1 に答える 1

0

「Error is DECLARE SQL_JCUR_CA_1 CURSOR FOR SELECT TOP 5」というメッセージの理由を明確にするために、「select top n」は有効な CA Datacom SQL 構文ではありません。限られた数の行を選択するには、「select [columns list] from table where... fetch first n rows only」を指定する必要があります。結果セットから返される行数を制限するのは、「最初の n 行のみをフェッチする」句です。

現在、CA Datacom/Server 15.0 の最新バージョンのベータ テストを行っているため、構文に関する質問が他にある場合はお知らせください。

于 2014-04-09T21:27:00.063 に答える