1

我有这些表:

  • 电影(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) 
    
  • ViewNoRating包含数据库中没有评分的电影。该视图包含电影 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 中的星号的同时更新。

我可以编写简单的触发器,但这看起来很复杂?我该如何解决这个问题?

4

0 回答 0