从DataStage作业运行DB2脚本时出现问题

rkue9o1l  于 2023-03-18  发布在  DB2
关注(0)|答案(1)|浏览(189)

我有一个DB2脚本如下-

BEGIN

DECLARE var1 INTEGER;
DECLARE var2 INTEGER;
SET var1=<<value1>>;
SET var2=<<value2>>;

    BEGIN 
        WHILE (var1 <= var2)
        DO
            DELETE FROM (SELECT * FROM table_name WHERE ID >= var1 FETCH FIRST 2000 ROWS ONLY);
        COMMIT;
        SET var1 = (var1+2000);
        END WHILE;
    END;
END

该脚本已在DB Visualizer上进行了测试,并在工具级别进行了一些设置更改(SQL语句分隔符:@),并且运行正常。现在,相同的脚本已放入.txt文件中,并且正在DataStage作业中从DB2 Connector调用该文件。作业失败,并显示以下错误-
SQL 0104 N在“ARE var 1 INTEGER”后面发现意外标记“END-OF-STATEMENT”。预期标记可能包括:“<psm_semicolon>“。行号=2。SQLSTATE=42601
我尝试在脚本开头添加--#SET DELIMITER @,但仍然得到相同的错误。
我认为这只需要一个小的变化,但不能识别它。

pepwfjgg

pepwfjgg1#

按照DataStage的方式执行-使用Db2连接器构建一个简单的作业,选择应该删除的数据作为源,并将Db2连接器作为目标阶段。在目标阶段中指定delete -提交大小将确保您的事务限制。

相关问题