2011-01-12 6 views
13

Mam procedurę przechowywaną w Oracle Database 10g, gdzie moje dane wejściowe to varchar2, ale mam problemy z uruchomieniem go, gdy ciąg wejściowy jest długi (nie jestem pewien dokładnej długości> 8000).Jaki jest domyślny rozmiar danych wejściowych varchar2 do procedury składowanej Oracle i czy można go zmienić?

Moja myśl jest "intext varchar2" (jak poniżej) jest domyślnie zbyt mała. W innych przypadkach, w których potrzebuję dłuższego łańcucha, mogę zdefiniować varchar2 jako "intext2 VARCHAR2 (32767);" Próbowałem zdefiniować rozmiar podobnie w kodzie poniżej, ale moja składnia jest niepoprawna.

create or replace PROCEDURE TESTPROC (intext IN VARCHAR2 

) AS .... 

Jaki jest (domyślny) rozmiar intext varchar2?

Czy można określić ten rozmiar (zwiększyć)?

dzięki

Odpowiedz

30

nie można określić wielkość dla parametru VARCHAR2 do procedury.

Procedura powinna z powodzeniem akceptować ciągi o rozmiarze do 32 kB (maksymalny rozmiar VARCHAR2 w PL/SQL). Gdyby była to funkcja wywoływana z SQL zamiast PL/SQL, limit byłby 4k, ponieważ maksymalny rozmiar VARCHAR2 w SQL to tylko 4k.

Powiązane problemy