db2存储过程 - 使用default null会产生错误

时间:2013-02-20 10:39:08

标签: database stored-procedures db2

考虑以下过程:

    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”。预期的代币可能包括:“”。 LINE NUMBER = 4。 SQLSTATE = 42601

我无法理解为什么DEFAULT NULL在这种情况下不起作用。

1 个答案:

答案 0 :(得分:0)

似乎是版本问题。 DB2 v9.5不支持default关键字。