首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Nclob处理的有关问题

2012-01-18 
Nclob处理的问题SQLdesctbl3NameTypeNullableDefaultComments----------------------------------IDXNUM

Nclob处理的问题
SQL>   desc   tbl3;
Name     Type       Nullable   Default   Comments  
-----   ------   --------   -------   --------  
IDX       NUMBER   Y                                                  
CNAME   NCLOB     Y      


下面的一个存储过程,我传进去很长的字符串,为什么每次存到tbl3表里面的cname只有一部分?

CREATE   OR   REPLACE   PROCEDURE   TIF_ADD_NEW(SQL_COMMAND   IN   NCLOB)
IS
    S   NCLOB;
    tmpS   VARCHAR2(2000);
    iPOS   NUMBER;
BEGIN
    S   :=   SQL_COMMAND;
    INSERT   INTO   TBL3   VALUES(SEQ_TBL3.NEXTVAL,s);
    iPOS   :=   INSTR(S, '; ');
    WHILE   iPOS>   0
    Loop
        tmpS   :=   SUBSTR(S,1,iPOS-1);
        begin
            tmps   :=   replace(tmps,chr(13), ' ');
            execute   immediate   tmpS;
        exception   when   others   then
            rollback;
        end;
        S   :=   SUBSTR(S,iPOS+1,LENGTH(S)-iPOS);
        IPOS   :=   INSTR(S, '; ');
    END   LOOP;  
    COMMIT;  
END;

好像nclob读取和存储有另外的方法,请指教


[解决办法]
NCLOB是固定长度的多字节Character Large Object,是不是长度小了
[解决办法]
tmpS VARCHAR2(2000);是不是定义小了?

热点排行