declare
v_str varchar2(8000);
v_val varchar2(100);
cursor c_test is select distinct danqianshijian from fwt_dangriyunli;
begin
set v_str ='select yunshugongsi,xianlu';
open c_test;
Loop
fetch c_test into v_val;
exit when c_test%NotFound;
set v_str = v_str +',decode(fd.danqianshijian,'+ v_val +', fd.dangribaoban, 0) as + ['+ v_val +']';
End Loop;
close c_test;
set v_str =v_str+ 'from fwt_dangriyunli fd';
dbms_output.put_line(v_str);
end;
v_str varchar2(8000);
v_val varchar2(100);
cursor c_test is select distinct danqianshijian from fwt_dangriyunli;
begin
set v_str ='select yunshugongsi,xianlu';
open c_test;
Loop
fetch c_test into v_val;
exit when c_test%NotFound;
set v_str = v_str +',decode(fd.danqianshijian,'+ v_val +', fd.dangribaoban, 0) as + ['+ v_val +']';
End Loop;
close c_test;
set v_str =v_str+ 'from fwt_dangriyunli fd';
dbms_output.put_line(v_str);
end;
把=改为:=如:
set v_str =v_str+ 'from fwt_dangriyunli fd';
改为:
v_str:=v_str||'from fwt_dangriyunli fd';
v_str varchar2(8000);
v_val varchar2(100);
cursor c_test is select distinct danqianshijian from fwt_dangriyunli;
begin
v_str :='select yunshugongsi,xianlu';
open c_test;
Loop
fetch c_test into v_val;
exit when c_test%NotFound;
v_str := v_str ||',decode(fd.danqianshijian,'|| v_val ||', fd.dangribaoban, 0) as "'|| v_val +'"';
End Loop;
close c_test;
v_str :=v_str|| ' from fwt_dangriyunli fd';
dbms_output.put_line(v_str);
end;
set 也不是oracle的语法