DB2中的错误(CARDINALITY)

问题描述 投票:0回答:1

有人知道我怎么能解决这个问题呢?

CREATE OR REPLACE FUNCTION PRDLIB.COUNTER( sROWS INT)
RETURNS TABLE (
ROW_ID INT)
LANGUAGE SQL
CARDINALITY 50
DETERMINISTIC
BEGIN
    DECLARE t3 INT default 0;
    WHILE t3>sROWS DO
        SET t3=t3+1;
        PIPE (t3);
    END WHILE;
    RETURN;
END@

错误信息

Multiple or conflicting keywords involving the "CARDINALITY" clause are present.. SQLCODE=-628, SQLSTATE=42613, DRIVER=4.18.60

我正在使用DB2 V11.1。

sql db2 syntax-error
1个回答
0
投票

CARDINALITY子句​​与PIPE语句不兼容。如果删除基数子句,则函数将编译。

PIPE语句一次最多返回1行,因此基数条款不相关。

您可以将CARDINALITY子句​​与外部表函数一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.