好文档 - 专业文书写作范文服务资料分享网站

学生成绩管理系统数据库项目设计报告

天下 分享 时间: 加入收藏 我要投稿 点赞

4.3建立存储过程 4.3.1

创建一个存储过程,从student表中检索出所有班级为“计算机1403”的学生的学号,姓名。 代码:

DELIMITER //

/*将MYSQL的结束符设置为//*/

CREATE PROCEDURE proc_stud() READS SQL DATA BEGIN

SELECT sno,sname,smajor FROM student

WHERE sclass LIKE '%计算机1403%' ORDER BY sno; END // DELIMITER ;

/*将结束符恢复成分号*/

执行存储过程:CALL proc_stud; 结果:

4.3.2

创建一个num_sc的存储过程,统计一个同学的课程成绩个数。 代码:

DELIMITER //

/*将MYSQL的结束符设置为//*/

CREATE PROCEDURE num_sc(IN tmp_sno char(9), OUT count_num INT) READS SQL DATA BEGIN

SELECT COUNT(*) INTO count_num FROM sc WHERE sno=tmp_sno; END // DELIMITER ;

/*将结束符恢复成分号*/

4.4建立触发器

在数据库的student表中,定义一个触发器,当一个学生被删除时,把该学生的学号和姓名添加到delstudent表中。 代码:

CREATE TABLE delstudent SELECT sno,sname FROM student WHERE 1=0;

CREATE TRIGGER trig_student

//创建student表的触发器

//创建一个空表用于接受删除后的数据

AFTER DELETE ON student FOR EACH R0W

INSERT INTO delstudent(sno,sname) values(old.sno, old.sname);

DELETE FROM student WHERE sname='李甜甜'; 生,验证触发器是否触发。

select * from delstudent; 结果:

//查看接受删除数据表

//删除一个学

触发器已经触发。

4.5查询问题及查询结果 4.5.1

查询所有学生的学号、姓名、性别和专业 代码:

select sno,sname,ssex,smajor from student; 结果:

4.5.2

计算“C01”课程的平均成绩。 代码:

SELECT AVG(degree) FROM sc WHERE cno='C01'; 结果:

32uub7thce38gut0xsx29kcek7hlwh01428
领取福利

微信扫码领取福利

微信扫码分享