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

Clob中如何分行读取
一个CLOB字段的表中,存入了一个包含5行的txt文件,我想读取该文件的第3行,何解?
clob 分行 读取

------解决方案--------------------
参考:http://hehe198504.iteye.com/blog/852883
------解决方案--------------------
闲来无事,写了一个,不知道是不是能达到你的要求:

create table t_clob (id number,str clob);
insert into t_clob values(1,'aaa'
------解决方案--------------------
chr(10)
------解决方案--------------------
'bbb'
------解决方案--------------------
chr(10)
------解决方案--------------------
'ccc');
insert into t_clob values(2,'111'
------解决方案--------------------
chr(10)
------解决方案--------------------
'222'
------解决方案--------------------
chr(10)
------解决方案--------------------
'333'
------解决方案--------------------
chr(10)
------解决方案--------------------
'444');
/
declare
  v_amount BINARY_INTEGER := 4000;
  v_offset INTEGER := 1;
  v_buffer varchar2(4000);
BEGIN
  for j in (select id, str
              from (select id,
                           regexp_substr(str,
                                         '[^' 
------解决方案--------------------
 chr(10) 
------解决方案--------------------
 ']+',
                                         1,
                                         level) str,
                           level lv
                      from t_clob t
                    CONNECT BY id = PRIOR id
                       &n