下面的SQL语句在针对DB2 LUW 10.5的flyway v5.1.3中失败,但是当使用客户端在DB2中直接执行时,它可以工作。
错误消息:
“ DB2 SQL错误:SQLCODE = -440,SQLSTATE = 42884, SQLERRMC = TEST_STATUS;过程,驱动程序= 4.19.26“
绝对是飞行路线的问题。有谁知道解决方法或解决方案?
CREATE OR REPLACE PROCEDURE TEST_STATUS
(
IN a INTEGER,
INOUT b INTEGER,
INOUT c INTEGER,
INOUT d INTEGER
)
BEGIN
END;
CREATE OR REPLACE PROCEDURE TEST_STATUS_MAIN
(
IN a INTEGER,
IN b INTEGER,
IN c INTEGER,
OUT d BIGINT
)
BEGIN
DECLARe e INTEGER DEFAULT 0;
CALL TEST_STATUS(a, b, c, e);
END;
答案 0 :(得分:0)
如果CURRENT SCHEMA
不在会话的CURRENT PATH
列表中,则可能会发生这种情况。
比方说,
VALUES CURRENT SCHEMA
返回SCHEMA1
VALUES CURRENT PATH
返回"SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","SCHEMA2"
。
例程TEST_STATUS
是在SCHEMA1
模式中创建的,尝试创建"SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","SCHEMA2"
时,试图在TEST_STATUS_MAIN
列表中找到它。