有表a如下:
col1    col2
kc      kc1,kc2,kc3如何可以把这个表转换为
col1    col2
kc      kc1
kc      kc2
kc      kc3注:其中逗号数目不确定,有可能有1个,有可能有2个

解决方案 »

  1.   


    declare 
        pos number;
        n   number;
        m   number;
        v_a a%rowtype;
        v_col2 a.col2%type;
    begin
        select * into v_a from a where rownum<2;
        v_col2 := v_a.col2;
        pos := instr(v_col2,',');
        --insert into a values(v_a.col1,substr(v_col2,1,(pos-1));
        
        while pos>0 loop
            --null;
            insert into a values(v_a.col1,substr(v_col2,1,(pos-1)));
            v_col2 := substr(v_col2,(pos+1));
            pos := instr(v_col2,',');
                   
        end loop;
        insert into a values(v_a.col1,v_col2);
        commit;
        exception
            when others then
            null;
    end;