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バイトになります
PL/SQLでは、VARCHAR2
データ型の最大サイズは10gR2以降32767バイトです(おそらくそれ以前ですが、そのリリースまでのドキュメントを確認しました)。
ドキュメントの参照: