CREATE FUNCTION reffunc2() RETURNS refcursor AS '
declare
sql text;
myrec record;
ref refcursor
begin
sql:='select 姓名 ';
for myrec in select distinct 课程 from tb loop
sql:=sql||$$ , max(case 课程 when '$$||myrec.课程||$$' then 分数 else 0 end) as $$||myrec.课程||;
end loop
sql:=sql||' , cast(avg(分数*1.0) as decimal(18,2)) 平均分 , sum(分数) 总分 from tb group by 姓名'
open refr for execute sql;
return ref;
end;报错 错误信息为
ERROR: syntax error at or near "select"
LINE 7: sql:='select 姓名 ';
↑
请问 有没有高手帮我解决
declare
sql text;
myrec record;
ref refcursor
begin
sql:='select 姓名 ';
for myrec in select distinct 课程 from tb loop
sql:=sql||$$ , max(case 课程 when '$$||myrec.课程||$$' then 分数 else 0 end) as $$||myrec.课程||;
end loop
sql:=sql||' , cast(avg(分数*1.0) as decimal(18,2)) 平均分 , sum(分数) 总分 from tb group by 姓名'
open refr for execute sql;
return ref;
end;报错 错误信息为
ERROR: syntax error at or near "select"
LINE 7: sql:='select 姓名 ';
↑
请问 有没有高手帮我解决
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货