Каков предел размера для аргумента подпрограммы PL / SQL varchar2 в Oracle?

Когда вы создаете процедуру (или функцию) в Oracle PL/SQL, вы не можете указать максимальную длину аргументов varchar2, только тип данных. Например

create or replace procedure testproc(arg1 in varchar2) is
begin
  null;
end;

Знаете ли вы максимальную длину строки, которую вы можете передать в качестве аргумента arg1 этой процедуре в Oracle?

3 ответа

Решение

В процедуре PL/SQL это может быть до 32 КБ

Более подробная информация здесь: http://it.toolbox.com/blogs/oracle-guide/learn-oracle-sql-and-plsql-datatypes-strings-10804

Я попытался с testproc( lpad( ' ', 32767, ' ')), и это работает.

С 32768 байтами это терпит неудачу, таким образом это - 32 КБ - 1 байт

В PL / SQL максимальный размер VARCHAR2 Тип данных составляет 32767 байт с 10gR2 (и, возможно, раньше, но я только что проверил документацию к этому выпуску).

Ссылки на документацию:

Другие вопросы по тегам