2011-01-12 3 views
13

Ich habe eine gespeicherte Prozedur in Oracle Database 10g, wo meine Eingabe ist ein varchar2, aber ich habe Probleme, es zu starten, wenn die Eingabezeichenfolge lang ist (nicht sicher, genaue Länge vielleicht> 8000).Wie lautet die Standardgröße einer varchar2-Eingabe für die gespeicherte Oracle-Prozedur, und kann sie geändert werden?

Mein Gedanke ist das 'intext varchar2' (wie unten) ist standardmäßig zu klein. In anderen Fällen, in denen ich eine längere Zeichenfolge benötige, kann ich varchar2 als "intext2 VARCHAR2 (32767)" definieren. Ich habe versucht, die Größe ähnlich im folgenden Code zu definieren, aber meine Syntax ist falsch.

create or replace PROCEDURE TESTPROC (intext IN VARCHAR2 

) AS .... 

Was ist die (Standard) Größe des intext varchar2?

Kann diese Größe definiert (erhöht) werden?

dank

Antwort

30

Sie keine Größe für einen VARCHAR2 Parameter an eine Prozedur angeben.

Die Prozedur akzeptiert gerne Zeichenfolgen mit einer Größe von bis zu 32 KB (die maximale Größe eines VARCHAR2 in PL/SQL). Wenn es sich um eine Funktion handeln würde, die von SQL statt von PL/SQL aufgerufen wird, wäre die Grenze 4k, da die maximale Größe eines VARCHAR2 in SQL nur 4k beträgt.

Verwandte Themen