Каков размер по умолчанию для ввода varchar2 в хранимую процедуру Oracle и может ли он быть изменен?

У меня есть хранимая процедура в базе данных Oracle 10g, где мой вход является varchar2, но у меня возникли проблемы с ее запуском, когда входная строка длинная (не уверен в точной длине, возможно, > 8000).

моя мысль " intext varchar2 "(как показано ниже) по умолчанию слишком мала. В других случаях, когда мне нужна более длинная строка, я могу определить varchar2 как " intext2 VARCHAR2 (32767)"; я попытался определить размер аналогично в коде ниже, но мой синтаксис неправильный.

create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2

) AS ....

Каков (по умолчанию) размер intext varchar2?

можно ли определить этот размер (увеличить)?

спасибо

1 ответов


вы не можете указать размер параметра VARCHAR2 для процедуры.

процедура должна с радостью принимать строки размером до 32k (максимальный размер VARCHAR2 в PL / SQL). Если бы это была функция, вызываемая из SQL, а не PL / SQL, предел был бы 4k, потому что максимальный размер VARCHAR2 в SQL составляет только 4k.