Каков размер по умолчанию для ввода 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.