У меня есть проблема, я создаю процедуру так:размер по умолчанию для выходного параметра Oracle
CREATE OR REPLACE PROCEDURE TEST_SIZE_OUT
(
MSGTEXT OUT VARCHAR2
) IS
BEGIN
--The next text has 200 characters
MSGTEXT := '10101201212012012012012120121212134541010101011111111110000000010101000000000001111111101111111111111111111111111111111111111000000000000000023401654421524546545gh4g4h4ghdgj5dghj4dgj4j4ghj4ghj1101123m';
END TEST_SIZE_OUT;
/
, но когда я назначить MSGTEXT
текст с более 201 символов, и я выполнить эту процедуру, это генерирует эту ошибку:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
, и я понятия не имею, как это исправить.
Sine 'MSGTEXT' - это параметр out, вызывающий отвечает за его размер. Как это называется? Можете ли вы поделиться полным сценарием? – Mureinik
Я называю это кодом Java. Эта процедура не является вызовом другой процедуры, функции или чего-либо еще. –
@Leonardo Как вы регистрируете выходной параметр при инициализации 'callableStatement' в вашем Java-коде? –