写个存储过程,
select a into v_a, b into v_b, c into v_c from table_name;
insert into table values (sequence.nextval, v_a);
....

解决方案 »

  1.   


    select  rownum,
    replace(wm_concat(用户数||‘,’||有效用户数||‘,’||失效用户数),chr(10))
     from 你的表名字这个语句应该可以,你试试,我没有实际试过
      

  2.   

    楼上对oracle函数的理解很透彻~ 你的这个语句在 cmd下面是对的,我试了一下,如下图不过,在PLSQL窗口中,仍然只是有一行一列,点开进去后,才是一列多行。
      

  3.   

    with test as(
    select 44 用户数,33 有效用户数,2 失效用户数 from dual union all
    select 55 用户数,12 有效用户数,4 失效用户数 from dual union all
    select 66 用户数,11 有效用户数,5 失效用户数 from dual)
    select level, regexp_substr(c, '[^,]+', 1, level)
      from (select wmsys.wm_concat(用户数 || ',' || 有效用户数 || ',' ||
                                   失效用户数) c
              from test)
    connect by length(regexp_substr(c, '[^,]+', 1, level)) > 0