Erstellen Sie basierend auf den Tabellen „student“, „course“ und „sc“ in der Schuldatenbank Trigger, die die folgenden Anforderungen erfüllen:
1. Wenn beim Einfügen oder Ändern der SC-Tabelle das Testergebnis nicht im Bereich von 0 bis 100 liegt, wird der Einfüge- oder Änderungsvorgang abgebrochen.TRENNUNGSZEICHEN ; TRIGGER LÖSCHEN, WENN `tri_update_grade` VORHANDEN ist; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_update_grade` VOR DEM UPDATE AUF `sc` FÜR JEDE ZEILE begin wenn new.grade > 100 dann aus sc löschen; sonstwenn neue.Klasse < 0 dann aus sc löschen; Ende wenn; Ende ;; TRENNUNGSZEICHEN ; TRIGGER LÖSCHEN, WENN `tri_insert_grade` VORHANDEN ist; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_insert_grade` VOR DEM INSERT AUF `sc` FÜR JEDE ZEILE begin wenn new.grade > 100 dann aus sc löschen; sonstwenn neue.Klasse < 0 dann aus sc löschen; Ende wenn; Ende ;; 2. Wenn beim Einfügen in die SC-Tabelle die Gesamtanzahl der Credits der Kursauswahl des Studenten 30 überschreitet, wird ein Fehler gemeldet und das Einfügen wird abgebrochen.TRENNUNGSZEICHEN ; TRIGGER LÖSCHEN, WENN `tri_insert_credit` VORHANDEN ist; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_insert_credit` VOR DEM INSERT AUF `sc` FÜR JEDE ZEILE begin SELECT Summe(Ccredit) INTO @sumcred von Student, trete SC bei auf SC.Sno=Student.Sno, trete Kurs bei auf Course.Cno=SC.Cno, WO sc.Sno=new.Sno; wenn (@sumcred>30) Dann aus sc löschen; Ende wenn; Ende ;; 3. Bei der Änderung der SC-Tabelle ist es nicht zulässig, die Kurswahldatensätze von Studierenden zu ändern, die die Prüfung nicht bestanden haben.TRENNUNGSZEICHEN ; TRIGGER LÖSCHEN, WENN `tri_grade` EXISTIERT; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_grade` VOR DEM UPDATE AUF `sc` FÜR JEDE ZEILE begin Wählen Sie die Note INTO @gra aus sc, wobei sno=new.sno und sno=new.sno; wenn (@gra >= 60) Dann setze neue.Klasse=20; anders aus sc löschen; Ende wenn; Ende ;; 4. Wenn beim Einfügen in die STUDENT-Tabelle das Alter leer ist, wird das Alter des Schülers auf das Durchschnittsalter aller Schüler gesetzt.TRENNUNGSZEICHEN ; TRIGGER LÖSCHEN, WENN `tri_student` EXISTIERT; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_student` VOR DEM INSERT AUF `student` FÜR JEDE ZEILE begin Wählen Sie avg(Sage) INTO @avgage vom Studenten; SET @alt_alter = neu.Sage; wenn @old_age NULL ist Dann setze neu.Sage=@avgage; Ende wenn; Ende ;; 5. Fügen Sie der STUDENT-Tabelle zwei Spalten hinzu, um die Durchschnittspunktzahl und -note des Schülers zu speichern, und behalten Sie die Durchschnittspunktzahl und -note des Schülers nach dem Einfügen in die SC-Tabelle automatisch bei (85-100, Note ist „ausgezeichnet“; 60-85, Note ist „gut“, unter 60, Note ist „schlecht“)TRENNUNGSZEICHEN ; TRIGGER LÖSCHEN, WENN `tri_comment` EXISTIERT; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_comment` VOR DEM UPDATE AUF `student` FÜR JEDE ZEILE begin Wählen Sie avg(Grade) INTO @avggra aus sc, wobei sno=new.sno; wenn @avggra > 85 dann Aktualisiere SC Set new.Savg=@avggra,new.Scomment="Sie"; sonst wenn @avggra > 60 und @avggra <= 85 dann Aktualisiere SC Set new.Savg=@avggra,new.Scomment="Sie"; anders Aktualisiere SC-Set new.Savg=@avggra,new.Scomment='cha'; Ende wenn; Ende wenn; Ende ;; TRENNUNGSZEICHEN ; ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können! Das könnte Sie auch interessieren:
|
<<: Lösung für den Fehler, dass IE6 select nicht durch div abgedeckt werden kann
>>: Verwendung des SerialPort-Moduls in Node.js
Was ist wxs? wxs (WeiXin Script) ist eine Skripts...
Inhaltsverzeichnis Überblick Was sind Generika Sy...
Linux-Dateiberechtigungen Überprüfen wir zunächst...
1. Ergebnisse erzielen 2. Vom Backend zurückgegeb...
MySQL kann nicht nur über das Netzwerk, sondern a...
In Bash-Skripten oder direkt im Skript selbst ist...
Text OK, als nächstes ist es Zeit, die Renderings...
Vorwort In diesem Artikel wird die Verwendung des...
Heute sprach jemand mit mir über ein Website-Entw...
Manchmal ist es notwendig, bei Benutzereingaben e...
Inhaltsverzeichnis 1. Neu II. Änderung element-ui...
Grund: MySQL 5.7.5 und höher implementiert die Er...
1. Erstellen Sie eine Docker-Umgebung 1. Erstelle...
Anzeigen und Einstellen des SQL-Modus in MySQL My...
Fehler Beim Herstellen einer Verbindung zu MySQL ...