这个哪的语法啊 select sqllog:=sqlog + ',sum(case km when '''+km+''' then cj end) ['+km+']'from (select distinct km from test) as a;  
 set sqlog := sqlog+' from test group by name';sql server??先看下oracle的语法吧

解决方案 »

  1.   

    这是sql server的语法,放oracle 里不行?不都是sql语言吗?
      

  2.   

    create or replace procedure kao  as
    sqlog  VARCHAR2(1024);
      begin
      sqlog := select name,
    sum(decode(km,'语文',cj,0)) "语文",
    sum(decode(km,'数学',cj,0)) "数学",
    sum(decode(km,'英语',cj,0)) "英语"
    from test
    group by name';
       execute immediate sqlog;
     end;