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

12 Aurelio Martin Massoni [2008-10-09 11:26:00]

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

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

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

oracle plsql


3 ответа


14 Решение Gravstar [2008-10-09 11:35:00]

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

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


8 Aurelio Martin Massoni [2008-10-09 11:43:00]

Я попробовал с testproc (lpad ('', 32767, '')), и он работает.

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


2 user272735 [2014-02-27 09:26:00]

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

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