Каков предел размера для аргумента подпрограммы 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 (и, вероятно, раньше, но я только что проверил документацию до этой версии).
Ссылки на документацию:
- Oracle 12cR1: Справочник по языку PL/SQL 12c Release 1
- Oracle 11gR2: Справочник по языку PL/SQL 11g Release 2
- Oracle 10gR2: Руководство пользователя и справочник PL/SQL 10g Release 2