【发布时间】:2020-06-19 17:15:42
【问题描述】:
我有一个动态存储过程,我用它来运行多个选择查询。我已经定义了如下内容。
CREATE PROCEDURE DYNAMIC
(IN IN_COLUMN1 VARCHAR(150),
IN IN_COLUMN2 VARCHAR(500),
IN IN_COLUMN3 VARCHAR(500),
IN IN_COLUMN4 CHAR(08),
IN IN_COLUMN5 DATE,
IN IN_COLUMN6 CHAR(05),
OUT OUT_COLUMN1 CHAR(01),
OUT OUT_COLUMN2 DEC(4,0),
OUT OUT_COLUMN3 DEC(4,0),
OUT OUT_COLUMN4 CHAR(04),
OUT OUT_COLUMN5 DATE
这里的问题是,当我运行 Query1 时,我将在 IN_COLUMN1、IN_COLUMN2、IN_COLUMN3 中从 COBOL DB2 程序传递输入,并且 OUTPUT 将被提取到 OUT_COLUMN1。我将在程序中初始化所有 INPUT,由于 OUT_COLUMN2、OUT_COLUMN3、OUT_COLUMN4 和 OUT_COLUMN5 等其他 OUTPUT 参数将为空,我得到 SQLCODE "-305"。
为了解决这个问题,我尝试将 OUTPUT 参数设置为默认值,如下所示,但在部署时出错。
OUT OUT_COLUMN2 DEC(4,0) DEFAULT NULL,
有什么办法可以解决这个问题。我正在使用 COBOL 调用在 DB2 中运行的存储过程。
【问题讨论】:
标签: stored-procedures db2 cobol