为 IBM DB2 数据库声明继续处理程序时出现 SQLCODE 42601

SQLCODE 42601 when declaring a continue handler for an IBM DB2 database

我试图在这里找到解决方案,但没有找到。这是我正在尝试的一些脚本 运行 :

BEGIN
    DECLARE CONTINUE HANDLER FOR SQLSTATE '42710' BEGIN END;
    EXECUTE IMMEDIATE 'CREATE TABLE BATCH_JOB_INSTANCE (JOB_INSTANCE_ID BIGINT  NOT NULL PRIMARY KEY ,'
    || 'VERSION BIGINT ,'
    || 'JOB_NAME VARCHAR(100) NOT NULL,'
    || 'JOB_KEY VARCHAR(32) NOT NULL,'
    || 'constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY));';
END

它创建一个 table,如果 table 已经存在,抛出的异常将被忽略。这是我尝试 运行 脚本时遇到的错误:

DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END;LSTATE '42710' BEGIN;<psm_semicolon>

我试图修复该代码中的很多问题,试图在 BEGINEND 语句之间添加一些无意义的代码(否则它只是一个空过程)。什么都不管用。有什么想法吗?

去掉空的BEGIN END

BEGIN
    DECLARE CONTINUE HANDLER FOR SQLSTATE '42710'
    EXECUTE IMMEDIATE 'CREATE TABLE BATCH_JOB_INSTANCE (JOB_INSTANCE_ID BIGINT  NOT NULL PRIMARY KEY ,'
    || 'VERSION BIGINT ,'
    || 'JOB_NAME VARCHAR(100) NOT NULL,'
    || 'JOB_KEY VARCHAR(32) NOT NULL,'
    || 'constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY));';
END