Based on the student, course, and sc tables in the school database, create triggers that meet the following requirements:
1. When inserting or modifying the SC table, if the test score is not in the range of 0-100, the insertion or modification operation is canceled.DELIMITER ; DROP TRIGGER IF EXISTS `tri_update_grade`; DELIMITER ;; CREATE TRIGGER `tri_update_grade` BEFORE UPDATE ON `sc` FOR EACH ROW begin if new.grade > 100 then delete from sc; elseif new.grade < 0 then delete from sc; end if; end ;; DELIMITER ; DROP TRIGGER IF EXISTS `tri_insert_grade`; DELIMITER ;; CREATE TRIGGER `tri_insert_grade` BEFORE INSERT ON `sc` FOR EACH ROW begin if new.grade > 100 then delete from sc; elseif new.grade < 0 then delete from sc; end if; end ;; 2. When inserting into the SC table, if the total credits of the student's course selection exceed 30, an error will be reported and the insertion will be canceled.DELIMITER ; DROP TRIGGER IF EXISTS `tri_insert_credit`; DELIMITER ;; CREATE TRIGGER `tri_insert_credit` BEFORE INSERT ON `sc` FOR EACH ROW begin SELECT sum(Ccredit) INTO @sumcred from Student join SC on SC.Sno=Student.Sno join Course on Course.Cno=SC.Cno WHERE sc.Sno=new.Sno; if (@sumcred>30) then delete from sc; end if; end ;; 3. When modifying the SC table, it is not allowed to modify the course selection records of students who have failed the examination.DELIMITER ; DROP TRIGGER IF EXISTS `tri_grade`; DELIMITER ;; CREATE TRIGGER `tri_grade` BEFORE UPDATE ON `sc` FOR EACH ROW begin select grade INTO @gra from sc where sno=new.sno and sno=new.sno; if (@gra >= 60) then set new.grade=20; else delete from sc; end if; end ;; 4. When inserting into the STUDENT table, if the age is empty, the student's age is set to the average age of all students.DELIMITER ; DROP TRIGGER IF EXISTS `tri_student`; DELIMITER ;; CREATE TRIGGER `tri_student` BEFORE INSERT ON `student` FOR EACH ROW begin select avg(Sage) INTO @avgage from student; SET @old_age = new.Sage; if @old_age IS NULL then set new.Sage=@avgage; end if; end ;; 5. Add two columns to the STUDENT table to store the student's average score and grade, and automatically maintain the student's average score and grade after inserting into the SC table (85-100, grade is "excellent"; 60-85, grade is "good", below 60, grade is "poor")DELIMITER ; DROP TRIGGER IF EXISTS `tri_comment`; DELIMITER ;; CREATE TRIGGER `tri_comment` BEFORE UPDATE ON `student` FOR EACH ROW begin select avg(Grade) INTO @avggra from sc where sno=new.sno; if @avggra > 85 then update sc set new.Savg=@avggra,new.Scomment="you"; else if @avggra > 60 and @avggra <= 85 then update sc set new.Savg=@avggra,new.Scomment="you"; else update sc set new.Savg=@avggra,new.Scomment='cha'; end if; end if; end ;; DELIMITER ; SummarizeThis article ends here. I hope it can be helpful to you. I also hope that you can pay more attention to more content on 123WORDPRESS.COM! You may also be interested in:
|
<<: Solution to the bug that IE6 select cannot be covered by div
>>: Use of SerialPort module in Node.js
Using Dockerfile allows users to create custom im...
Preface BINARY and VARBINARY are somewhat similar...
Basic syntax of the table <table>...</tab...
# The following examples are for x64-bit runtime ...
Today, when I searched for a page on Baidu, becaus...
This article shares the specific code of React to...
Install mysql5.7 under win, for your reference, t...
The format is simple: proxy_pass URL; The URL inc...
The role of virtual DOM First of all, we need to ...
Nowadays, mobile devices are becoming more and mo...
Table of contents summary Basic Example motivatio...
need: Implement dynamic display of option values ...
Table of contents Overview Environment Preparatio...
Table of contents background: Nginx smooth upgrad...
This article shares the specific code of JavaScri...