Flyway添加“;”在我的脚本中

时间:2015-04-02 12:16:41

标签: stored-procedures db2 flyway

我对飞路升级有一个奇怪的问题。我有这样的升级脚本:

CREATE OR REPLACE PROCEDURE DBO.initData()
LANGUAGE SQL
BEGIN
    CALL DBO.myProc(1);
    CALL DBO.myProc(2);
    CALL DBO.myProc(3);
    CALL DBO.myProc(4);
    CALL DBO.myProc(5);
    CALL DBO.myProc(6);
    ......
    CALL DBO.myProc(31);
END;

当我在Data Studio中运行它时,一切都很好。但如果我把它放在飞路升级中。它返回语法错误。经过一番调查,我发现飞路增加了一个“;”在我的上一个陈述中,并使其像CALL DBO.myProc(3;2);

现在我必须制作两个存储过程才能使其正常工作:

INIT1:

CREATE OR REPLACE PROCEDURE DBO.initData()
LANGUAGE SQL
BEGIN
    CALL DBO.myProc(1);
    CALL DBO.myProc(2);
    CALL DBO.myProc(3);
    CALL DBO.myProc(4);
    CALL DBO.myProc(5);
    CALL DBO.myProc(6);
    ......
    CALL DBO.myProc(31);
END;

INIT2:

CREATE OR REPLACE PROCEDURE DBO.initData2()
LANGUAGE SQL
BEGIN
    CALL DBO.myProc(32);
END;

我想知道是否有人知道这里有什么问题?

重现剧本:

CREATE OR REPLACE PROCEDURE DBO.wp_InitDataProc(
    v_Name VARGRAPHIC(255)
)
LANGUAGE SQL
BEGIN
    /*do nothing*/
END;

CREATE OR REPLACE PROCEDURE DBO.wp_InitData()
LANGUAGE SQL
BEGIN
    CALL DBO.wp_InitDataProc(N'1');
    CALL DBO.wp_InitDataProc(N'1');
    CALL DBO.wp_InitDataProc(N'2');
END;
CALL DBO.wp_InitData();
DROP PROCEDURE DBO.wp_InitData;
DROP PROCEDURE DBO.wp_InitDataProc;

0 个答案:

没有答案