2011-01-12 10 views
13

Tengo un procedimiento almacenado en Oracle Database 10g donde mi entrada es varchar2 pero estoy teniendo problemas para ejecutarla cuando la cadena de entrada es larga (no estoy seguro de la longitud exacta tal vez> 8000).¿Cuál es el tamaño predeterminado de una entrada varchar2 para el procedimiento almacenado de Oracle, y se puede cambiar?

Mi idea es que el 'intext varchar2' (como se muestra a continuación) es por defecto demasiado pequeño. En otros casos en los que necesito una cadena más larga, podría definir un varchar2 como "intext2 VARCHAR2 (32767);" Traté de definir el tamaño de manera similar en el siguiente código pero mi sintaxis es incorrecta.

create or replace PROCEDURE TESTPROC (intext IN VARCHAR2 

) AS .... 

¿Cuál es el tamaño (predeterminado) del intext varchar2?

¿Se puede definir (aumentar) ese tamaño?

gracias

Respuesta

30

no puede especificar un tamaño para un parámetro VARCHAR2 a un procedimiento.

El procedimiento debería aceptar cadenas de hasta 32k de tamaño (el tamaño máximo de un VARCHAR2 en PL/SQL). Si fuera una función que se llama desde SQL en lugar de PL/SQL, el límite sería 4k porque el tamaño máximo de un VARCHAR2 en SQL es solo 4k.

Cuestiones relacionadas