我有这些表:
- 电影(mID、片名、年份、导演)
- 审稿人(rID,姓名)
- 评级(rID、mID、星数、ratingDate)
和一些观点:
视图
LateRating
包含 2011 年 1 月 20 日之后的电影评分。视图包含电影 ID、电影名称、星数和评分日期。create view LateRating as select distinct R.mID, title, stars, ratingDate from Rating R, Movie M where R.mID = M.mID and ratingDate > '2011-01-20'
视图
HighlyRated
包含至少有 1 个评分高于 3 星的电影。该视图包含电影 ID 和电影标题。create view HighlyRated as select mID, title from Movie where mID in (select mID from Rating where stars > 3)
View
NoRating
包含数据库中没有评分的电影。该视图包含电影 ID 和电影标题。create view NoRating as select mID, title from Movie where mID not in (select mID from Rating)
这是我的数据集:https ://prod-c2g.s3.amazonaws.com/db/Winter2013/files/viewmovie.sql
我应该编写一个而不是触发器,它组合触发器以启用对属性 mID、标题和/或视图 LateRating 中的星号的同时更新。
我可以编写简单的触发器,但这看起来很复杂?我该如何解决这个问题?