Oracle PL/SQL でプロシージャ (または関数) を作成する場合、varchar2 引数の最大長を指定することはできず、データ型のみを指定します。例えば
create or replace procedure testproc(arg1 in varchar2) is
begin
null;
end;
Oracle でこのプロシージャに arg1 引数として渡すことができる文字列の最大長を知っていますか?
PL/SQL プロシージャでは、最大 32KB の場合があります
詳細はこちら: http://it.toolbox.com/blogs/oracle-guide/learn-oracle-sql-and-plsql-datatypes-strings-10804
testproc( lpad( ' ', 32767, ' ' ) ) を試してみましたが、うまくいきました。
32768 バイトでは失敗するため、32K - 1 バイトです。