0

考虑以下过程:

    CREATE PROCEDURE XYZ.ABC
                      (
                         IN V1 DATE,
                         IN V2 VARCHAR(50) DEFAULT NULL
                      )
    SPECIFIC XYZ.ABC
    RESULT SETS 1
    MODIFIES SQL DATA
    NOT DETERMINISTIC
    NULL CALL
    LANGUAGE SQL EXTERNAL ACTION
    INHERIT SPECIAL REGISTERS
BEGIN
        DECLARE temp_cursor CURSOR WITH HOLD WITH RETURN TO CALLER
        FOR
        select
        //long query
        where  ((V2 is not null AND V2='abc') OR (V2 is null));
        OPEN temp_cursor;
END
;

这给了我错误

在“V2 VARCHAR(50)”之后发现了一个意外的标记“DEFAULT NULL”。预期的标记可能包括:“”。第 4 行。SQLSTATE=42601

我不明白为什么 DEFAULT NULL 在这种情况下不起作用。

4

1 回答 1

0

好像是版本问题。DB2 v9.5 不支持默认关键字。

于 2013-03-08T05:53:24.563 回答