曾经也找过不少地方,可是没有很好的解决方法,这是我写的一个,不限制原行数的
declare
v_kcb varchar2(10);
v_sl number;
cursor c_kcb is select kcb from exam_1;
begin
execute immediate 'drop table exam_2';
execute immediate 'create table exam_2( id number)';
execute immediate 'insert into exam_2(id) values (1)';
open c_kcb;
loop
fetch c_kcb into v_kcb;
exit when c_kcb%notfound;
select sl into v_sl from exam_1 where kcb=v_kcb;
execute immediate 'ALTER TABLE EXAM_2 ADD('|| v_kcb||' number )';
execute immediate 'update exam_2 set '||v_kcb||'='||v_sl;
end loop;
close c_kcb;
commit;
end;