学校データベースの学生、コース、sc テーブルに基づいて、次の要件を満たすトリガーを作成します。
1. SC テーブルを挿入または変更するときに、テスト スコアが 0 ~ 100 の範囲外の場合、挿入または変更操作はキャンセルされます。区切り文字 ; `tri_update_grade` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の「sc」の更新前に「tri_update_grade」トリガーを作成します。 new.grade > 100の場合 sc から削除します。 そうでない場合は、new.grade < 0 の場合 sc から削除します。 終了の場合; 終わり ;; 区切り文字 ; `tri_insert_grade` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の `sc` に INSERT する前に `tri_insert_grade` トリガーを作成します new.grade > 100の場合 sc から削除します。 そうでない場合は、new.grade < 0 の場合 sc から削除します。 終了の場合; 終わり ;; 2. SC テーブルに挿入する際、学生のコース選択の合計単位数が 30 を超えると、エラーが報告され、挿入はキャンセルされます。区切り文字 ; `tri_insert_credit` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の「sc」に挿入する前に「tri_insert_credit」トリガーを作成します。 Student から sum(Ccredit) INTO @sumcred を選択し、SC.Sno=Student.Sno で SC を結合し、Course.Cno=SC.Cno で Course を結合します (WHERE sc.Sno=new.Sno); (@sumcred>30) の場合 それから sc から削除します。 終了の場合; 終わり ;; 3. SC表を修正する場合、試験に不合格となった学生のコース選択記録を修正することはできません。区切り文字 ; `tri_grade` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の `sc` の更新前に `tri_grade` トリガーを作成します sc から grade INTO @gra を選択します (sno=new.sno かつ sno=new.sno)。 (@gra >= 60) の場合 それから new.grade=20 を設定します。 それ以外 sc から削除します。 終了の場合; 終わり ;; 4. STUDENT テーブルに挿入するときに、年齢が空の場合、学生の年齢はすべての学生の平均年齢に設定されます。区切り文字 ; `tri_student` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の「student」に挿入する前に「tri_student」トリガーを作成します。 学生からavg(Sage) INTO @avgageを選択します。 SET @old_age = new.Sage; @old_age が NULL の場合 それから new.Sage=@avgage; を設定します。 終了の場合; 終わり ;; 5. STUDENT テーブルに 2 つの列を追加して、生徒の平均スコアと成績を保存し、SC テーブルに挿入した後、生徒の平均スコアと成績を自動的に維持します (85 ~ 100 の場合、成績は「優秀」、60 ~ 85 の場合、成績は「良好」、60 未満の場合、成績は「不良」)区切り文字 ; `tri_comment` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の「student」の更新前にトリガー「tri_comment」を作成します。 sc から avg(Grade) INTO @avggra を選択します (sno=new.sno); @avggra > 85の場合 sc を更新し、new.Savg=@avggra、new.Scomment="you" を設定します。 そうでない場合、@avggra > 60 かつ @avggra <= 85 の場合 sc を更新し、new.Savg=@avggra、new.Scomment="you" を設定します。 それ以外 sc を更新し、new.Savg=@avggra、new.Scomment='cha' を設定します。 終了の場合; 終了の場合; 終わり ;; 区切り文字 ; 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: HTML内の画像はbase64でエンコードされた文字列に直接置き換えられます
>>: DockerでPython環境をパッケージ化するプロセスの詳細な説明
1. MySQL マスタースレーブ非同期1.1 ネットワーク遅延MySQLのマスタースレーブレプリケ...
目次序文:成し遂げる:要約:まず効果を見てみましょう: 序文:このアイデアは、Bilibili のア...
目次序文1. 準備2. インストール3. 環境変数を設定する1. 「新規」をクリックすると、ポップア...
パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...
アプリケーション例ウェブサイト http://www.uhuigou.net画像の動的読み込みは目新...
目次序文文章1. グローバル登録2. 部分登録3. フック機能とパラメータ設定4. 柔軟な使い方(1...
Code Cloudで新しいプロジェクトtest1を作成します。 公開鍵を取得するには次のコマンドを...
Springboot プロジェクトを開始するには、次の 3 つの方法があります。 1. メインメソッ...
目次1. 現状2. JSでCADグラフィックを作成および変更する2.1 サポートされているCADエン...
目次1. ドラッグ効果の例2. CSS実装の原則3. CSS実装の詳細4. CSSレイアウト1. 固...
目次序文1. 問題の原因2. 解決策VueはelementUIテーブルtr thの高さと背景色を変更...
1 分で最初の Web ページを作成します。簡単な Web ページを作ってみましょう。ぜひフォローし...
目次テーブルを作成するときにNOT NULL制約を設定するテーブルを変更するときに非NULL制約を追...
MySQLの起動失敗の解決策MySQLを起動できませんmysqlを停止した後、いくつかの操作(ホスト...
この記事では主にTomcatプロセスを記録し、TCP接続が多すぎることによるCPU使用率の過剰のトラ...