Каков предел размера для аргумента подпрограммы PL / SQL varchar2 в Oracle? - PullRequest
13 голосов
/ 09 октября 2008

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

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

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

Ответы [ 3 ]

15 голосов
/ 09 октября 2008

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

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

8 голосов
/ 09 октября 2008

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

При 32768 байтах происходит сбой, поэтому это 32 КБ - 1 байт

3 голосов
/ 27 февраля 2014

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

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

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