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
Table of contents What is native JavaScript A. Ch...
It's embarrassing to say that I had to search ...
After Ubuntu 20.04 is installed, there is no root...
1. On a networked machine, use the default centos...
Linux finds a specific program where is The where...
Table of contents Vue+ElementUI background manage...
Docker basic instructions: Update Packages yum -y...
The Linux command to run the jar package is as fo...
Table of contents 1. Problem Description 2. Probl...
The rich text component is a very commonly used c...
1. Introduction to Middleware 1. Basic concepts E...
The following information is compiled from the Int...
Preface ActiveMQ is the most popular and powerful...
Compared with the old life cycle Three hooks are ...
No matter you are installing Windows or Linux ope...