考虑以下过程:
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在这种情况下不起作用。
答案 0 :(得分:0)
似乎是版本问题。 DB2 v9.5不支持default关键字。