私の入力がvarchar2であるOracle Database 10gにストアドプロシージャがありますが、入力文字列が長い(正確な長さがおそらく> 8000であるかどうかわからない)ときに実行するのに問題があります。
私の考えでは、「intext varchar2」(以下)はデフォルトでは小さすぎます。長い文字列が必要な他のケースでは、varchar2を "intext2 VARCHAR2(32767);"と定義する場合があります。以下のコードで同様にサイズを定義しようとしましたが、構文が正しくありません。
create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2
) AS ....
Intext varchar2の(デフォルトの)サイズは何ですか?
そのサイズを定義(拡大)できますか?
ありがとう
プロシージャにVARCHAR2パラメータのサイズを指定することはできません。
プロシージャは、最大32kの文字列(PL/SQLのVARCHAR2の最大サイズ)を問題なく受け入れます。 PL/SQLではなくSQLから呼び出された関数の場合、SQLのVARCHAR2の最大サイズは4kしかないため、制限は4kになります。