У меня есть хранимая процедура Dynami c, которую я использую для выполнения нескольких запросов выбора. Я определил что-то вроде ниже.
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, я получу входные данные, переданные из программы COBOL DB2 в IN_COLUMN1, IN_COLUMN2, IN_COLUMN3 и OUTPUT будут извлечены в OUT_COLUMN1. Я инициализирую все INPUT в программе, из-за других параметров OUTPUT, таких как OUT_COLUMN2, OUT_COLUMN3, OUT_COLUMN4 и OUT_COLUMN5, будет null, я получаю SQLCODE "-305".
Чтобы исправить это, я попытался установить OUTPUT параметры по умолчанию, как показано ниже, и при развертывании произошла ошибка.
OUT OUT_COLUMN2 DEC(4,0) DEFAULT NULL,
Есть ли способ справиться с этим. Я использую COBOL для вызова хранимой процедуры, запущенной в DB2.