CREATE PROCEDURE 成績入力(subject CHAR(16),
class CHAR(3), sn INTEGER, score INTEGER)
LANGUAGE SQL AS $$
UPDATE 履修 SET 成績=score
FROM (SELECT 履修.科目番号, 履修.学籍番号
FROM 履修,クラス名簿,科目
WHERE 履修.学籍番号=クラス名簿.学籍番号
AND 履修.科目番号=科目.科目番号
AND 科目.科目名=subject
AND クラス名簿.年度=2021
AND クラス名簿.クラス=class
AND クラス名簿.出席番号=sn) AS x
WHERE 履修.科目番号=x.科目番号 AND 履修.学籍番号=x.学籍番号
$$;
CALL 成績入力('データベース','5SJ',3,50);
CALL 成績入力('データベース','5SE',1,60);
ストアードプロシージャで
「成績入力」を定義したので
この後は入力が簡単になる