Mysql 5
Expand|Select|Wrap|Line Numbers
- delimiter //
- Create TRIGGER User_Rating_Avg After Insert on bksite.Ratings
- FOR EACH ROW
- BEGIN
- UPDATE bksite.bookkeepers SET User_Cost_Avg=
- (SELECT SUM(cost)/(SELECT count(*) FROM bksite.ratings where bkid = new.bkid) from ratings where bkid = new.bkid)
- where bkid = new.bkid;
- UPDATE bksite.bookkeepers SET User_Knowledge_Avg=
- (SELECT SUM(knowledge)/(SELECT count(*) FROM bksite.ratings where bkid = new.bkid) from ratings where bkid = new.bkid)
- where bkid = new.bkid;
- UPDATE bksite.bookkeepers SET User_Speed_Avg=
- (SELECT SUM(speed)/(SELECT count(*) FROM bksite.ratings where bkid = new.bkid) from ratings where bkid = new.bkid)
- where bkid = new.bkid;
- UPDATE bksite.bookkeepers SET User_Accuracy_Avg=
- (SELECT SUM(accuracy)/(SELECT count(*) FROM bksite.ratings where bkid = new.bkid) from ratings where bkid = new.bkid)
- where bkid = new.bkid;
- END;
- //
Expand|Select|Wrap|Line Numbers
- UPDATE bksite.bookkeepers SET User_Avg_Total=
- (SELECT (User_knowledge_avg + User_Cost_Avg + User_Speed_Avg + User_Accuracy_Avg)/4 FROM Bookkeepers
- where bkid =new.bkid);