1

結果セットの最大サイズを制御するためにパラメーターを渡す方法をマクロに変更する必要があります。

私のアイデアはこのSQLでした:

REPLACE MACRO myMacro
( maxRows INTEGER DEFAULT 100 )
AS
(
    SELECT TOP :maxRows
    FROM myTable;
);

しかし、私が得るのはメッセージだけです:

[SQLState 42000]構文エラー。「top」と「:」の間に整数または10進数のようなものが必要です。

マクロ以外の方法でこれを行うことはできません。

どうやってやるの?

4

1 に答える 1

3

私はこれを行う方法を見つけました:

REPLACE MACRO myMacro
( maxRows INTEGER DEFAULT 100 )
AS
(
    SELECT 
        ROW_NUMBER() OVER (ORDER BY myColumn) AS RowNo, 
        myColumn
    FROM myTable
    WHERE RowNo <= :maxRows;
);
于 2010-10-26T13:18:10.033 に答える