私がやりたいことは、新入生の成績属性を管理することです。学生 ID と成績を含む挿入されたタプルの成績値が 9 未満または 12 を超える場合、値を NULL に変更します。同時に、挿入されたタプルがグレード null 値を持つ場合は、それを 9 に変更します。
次のコードの何が問題になっていますか?
CREATE TRIGGER R1
AFTER INSERT ON Students
FOR EACH ROW
BEGIN
UPDATE Students
SET grade = NULL
WHERE grade < 9 OR grade > 12;
UPDATE Students
SET grade = 9
WHERE grade = NULL;
END;
INSERT が実行された直後に、Student テーブルに対して 2 つの UPDATE ステートメントを実行する必要があることに注意してください。ヌル値はグレード 9 に更新され、グレード > 9 または > 12 は NULL に更新されます。