Увеличьте размер параметра процедуры по умолчанию с 200 до 400 - PullRequest
0 голосов
/ 13 сентября 2018

Моя проблема в том, что максимальный размер PARAM по умолчанию равен 200, как я могу увеличить размер по умолчанию PARAM 200 до 400

 PROCEDURE PS_TEST(PARAM IN VARCHAR2)

спасибо за вашу помощь

1 Ответ

0 голосов
/ 13 сентября 2018

Если ваш параметр PARAM IN VARCHAR2, то из документации по типам данных PL / SQL :

VARCHAR2 Символьная строка переменной длины с максимальным размером 32 767 байт

Таким образом, максимальный размер параметра составляет 32767 байт (32 КБ), и вам не нужно ничего делать, чтобы увеличить его с 200 до 400 байт (или символов), поскольку он уже примет этот размер.

Аргументы процедуры не имеют фиксированной максимальной точности ниже максимумов типа данных.

Чтобы показать это:

DECLARE
  p_text VARCHAR2(32767);

  PROCEDURE PS_TEST( PARAM IN VARCHAR2 )
  IS
  BEGIN
    DBMS_OUTPUT.PUT_LINE( LENGTH( PARAM ) );
  END;
BEGIN
  FOR i IN 1 .. 8 LOOP
    p_text := p_text || DBMS_RANDOM.STRING( 'X', 4000 );
  END LOOP;
  p_text := p_text || DBMS_RANDOM.STRING( 'X', 767 );
  PS_TEST( p_text );
END;
/

Выходы:

32767
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...