-1
我的一个任务问题是: 方法AvgReviewScore()返回一个专辑的平均评论分数,不包括来自匿名评论者的评分,即带有空的REVIEWER_NAME的评论。oracle如何将SQL转换为成员函数
所以,首先我写SQL: (这是面向对象数据库分配)
select deref(b.album).title
,round(avg(b2.reviewscore),2)
from album_artist_table b,table(deref(b.album).review) b2
where deref(b.artist).aname like '%Joe%'
and b2.reviewername is not null
group by deref(b.album).title;
我可以问怎么这个SQL成员函数的翻译?
我尝试创建一个名为类型:AvgReviewScore_type
,然后我创造型体成员函数如下:
create or replace TYPE BODY ALBUM_TYPE AS
member function AvgReviewScore return AvgReviewScore_type AS
AVGtable AvgReviewScore_type := AvgReviewScore_type(null,null);
BEGIN
select deref(b.album).title,round(avg(b2.reviewscore),2)
into AVGtable
from album_artist_table b,table(deref(b.album).review) b2
where b2.reviewername is not null
group by deref(b.album).title;
return AVGtable;
END AvgReviewScore;
END;
但它不工作,有没有人知道这是什么缘故?
你是什么意思与“不工作”?你是否有编译错误或运行时错误?和什么错误?尽量做到尽可能详细,以获得良好的答案 – Aleksej
您是否在寻找一个功能?成员函数是用Objects创建的。我看不到你的对象的任何定义。你也可以包括这个。 – XING