创建 IBM db2 过程时出现以下错误消息

I am getting following Error message while creating IBM db2 procedure

下面的代码有什么问题?

PROCEDURE DATETYPE DYNAMIC RESULT SETS 1 LANGUAGE SQL
BEGIN
DECLARE @DateType TABLE
    ( LABEL CHAR(30) ,
    Value VARCHAR(1) );

DECLARE C CURSOR WITH RETURN FOR;

INSERT
    INTO
        @DateType
    VALUES ('Paid Dates Only',
    'P') INSERT
        INTO
            @DateType
        VALUES('Incurred Dates with Paid',
        'S') SELECT
            *
        FROM
            @DateType;

OPEN C;
END 

我正在使用 db2 并收到以下错误:

SQL Error [42601]: An unexpected token "( LABEL CHAR(30) , Value VARCHAR(1) )" was found following " ". Expected tokens may include: "E @DateType TABLE ".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.21.29

无论是 DB2(db2-400 还是 db2-luw)DECLARE xx TABLE 不是 DB2 SQL PL 语法

顺便说一句,如果我理解得很好,你的代码可以用视图替换

CREATE OR REPLACE VIEW DATETYPE (LABEL, VALUE) as (
    VALUES 
    ('Paid Dates Only', 'P'),
    ('Incurred Dates with Paid', 'S')
)

edit:既然必须是prodecure,那你就可以用

   CREATE OR REPLACE PROCEDURE DATETYPE ()
     RESULT SETS 1
     LANGUAGE SQL
   BEGIN
       DECLARE DATAS CURSOR WITH RETURN FOR 
            VALUES 
            ('Paid Dates Only', 'P'),
            ('Incurred Dates with Paid', 'S');
       OPEN DATAS;
   END