【问题标题】:db2 Stored proc - usage of default null gives errordb2 存储过程 - 使用默认 null 会产生错误
【发布时间】:2013-02-20 10:39:08
【问题描述】:

考虑以下过程:

    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 在这种情况下不起作用。

【问题讨论】:

  • 并非所有 DB2 版本/平台都支持default。您确定您正在查看您的版本的正确文档吗?
  • 是的。好像是版本问题。 DB2 v9.5 不支持默认关键字。

标签: database stored-procedures db2


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 2019-02-02
    相关资源
    最近更新 更多