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 ein absteigender Index? Sie kennen sich v...
Standardmäßig erfolgt das Lesen und Schreiben von...
Inhaltsverzeichnis 1. Neues Projekt erstellen 2. ...
Was ist Blubbern? Es gibt drei Phasen im DOM-Erei...
In diesem Artikelbeispiel wird der spezifische Co...
Die folgenden Funktionsdemonstrationen basieren a...
GitHub-Adresse, Sie können es mit einem Stern mar...
1. Was ist Beim Parallax-Scrolling handelt es sic...
Der Standardzeittyp (Datum/Uhrzeit und Zeitstempe...
Vorwort Was ist die Rolle eines Agenten? - Mehrer...
Ich freue mich, dass einige Blogger meinen Artike...
Überblick binlog2sql ist ein in Python entwickelt...
Laden Sie MySQL 8.0.22 zu Ihrer Information herun...
1. Problembeschreibung <br />Wenn JS verwen...
Da die Kosten für die Erstellung von HTTPS-Websit...