Оператор вставки не распознает значения переменных

Вы должны использовать свой пользовательский считыватель ввода для получения более быстрых результатов, а не для извлечения первого символа из чтения строки. Ссылка для Custom ScanReader и объяснение: https://gist.github.com/nik1010/5a90fa43399c539bb817069a14c3c5a8

Код для сканирования Char:

BufferedInputStream br=new BufferedInputStream(System.in);
char a= (char)br.read();

-2
задан Jeffrey Johnston 3 March 2019 в 12:32
поделиться

1 ответ

Боюсь, вы ошиблись:

v_auth_code := CG$BP_AUTH_CODE.make_auth_code;
--Error happening over here
insert into bp_auth_code (bn, code) values(v_bn, v_auth_code);
commit;
message(v_auth_code); -- I can see the value

Сказать, что «вы видите ценность» - нет, вы не можете.

Если INSERT не удалось, Oracle выдает ошибку ORA-01400, поэтому выполнение останавливается. Ничто за INSERT не выполняется, включая MESSAGE вызов. Вы не можете знать ценность, но - на вашем месте я бы доверял Oracle в этом. Если он говорит, что CODE является нулем, то это так.

В зависимости от используемой версии форм вы можете (всегда) переписать код (для целей отладки) как

v_auth_code := CG$BP_AUTH_CODE.make_auth_code;
message(v_auth_code);             -- now you'll see the V_AUTH_CODE value
insert into bp_auth_code (bn, code) values(v_bn, v_auth_code);
commit;

или запустить форму в режиме отладки (не забудьте установить точку останова!) и проследить его исполнение.

0
ответ дан Littlefoot 3 March 2019 в 12:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: