18

Oracle Database 10gにストアドプロシージャがあり、入力はvarchar2ですが、入力文字列が長い場合(正確な長さが8000を超える可能性があります)に実行する際に問題が発生します。

私の考えでは、「intext varchar2」(以下のように)はデフォルトでは小さすぎます。より長い文字列が必要な他の場合は、varchar2を「intext2VARCHAR2(32767);」と定義することがあります。以下のコードで同様にサイズを定義しようとしましたが、構文が正しくありません。

create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2

) AS ....

インテキストvarchar2の(デフォルトの)サイズはいくつですか?

そのサイズを定義(拡大)できますか?

ありがとう

4

1 に答える 1

39

プロシージャにVARCHAR2パラメータのサイズを指定することはできません。

このプロシージャは、最大32kのサイズ(PL / SQLのVARCHAR2の最大サイズ)の文字列を問題なく受け入れる必要があります。PL / SQLではなくSQLから呼び出されていた関数の場合、SQLのVARCHAR2の最大サイズはわずか4kであるため、制限は4kになります。

于 2011-01-13T00:02:09.880 に答える