日期:2014-05-17  浏览次数:21268 次

调用存储过程时当若入参varchar2长度大于4000个字符出错
我现在使用的存储过程声明如下
create   or   replace   procedure   QWZRSQ(
                STR_GUID   in   varchar2,   --入参
                ARESULT   Out   p_test.T_CURSOR   )   is      
begin
    .........
end;
存储过程入参STR_GUID   类型是   varchar2;
有的时候传入的   STR_GUID   长度会大于4000个字符;
使得调用存储过程会出错;
请问这个问题怎么解决?
可不可以在调用的时候传入一个varchar2   的数组?
如果可以,怎么做,最好能给个例子;
谢谢!

------解决方案--------------------
Varchar2 变长字符,≤4000个字符
Long 可变字符,≤2GB个字符
Varchar (同Varchar2)可变字符,≤4000个字符
------解决方案--------------------
Varchar2 4000字节数
使用Long类型, 存储类型仍然是文本,但长度增大较多
------解决方案--------------------
varchar2 应该最多支持4000字节数的

long型的可以到2G
------解决方案--------------------
varchar2 在8i之前只能存储2000字符
8i之后可以到4000
long可以到2G