• 2021-04-14
    给定的学生选课数据库xsxk中有学生表、课程表和选课表: 学生(学号,姓名,出生日期,学院名称) 课程(课程名称,课程学分) 选课(课程名称,学号,成绩) 上述数据库及数据表已经创建,请按要求完成以下操作。 设计一个名称为tr_选课的触发器,完成的功能是:当在选课表上插入一条记录之前,若该记录中的学号和课程名称在学生表和课程表中不存在,则在相关表中插入相应记录。 注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。 DELIMITER $$ CREATE TRIGGER tr_选课 ______ INSERT ON 选课 FOR EACH ROW BEGIN DECLARE sno,cno INT; SELECT COUNT(*) INTO sno FROM 学生 WHERE 学号=NEW.学号; SELECT COUNT(*) INTO cno FROM 课程 WHERE 课程名称=________________; IF(sno=0) THEN INSERT INTO 学生(学号) values(________________); END IF; IF(cno=0) THEN INSERT INTO 课程(课程名称) values(NEW.课程名称); END IF; END $$ DELIMITER ;
  • 举一反三