采用前面实验所创建的数据库S_C及其上所建立的STUDENT、COURSE和SC表和数据(必要时可补充数据),根据如下要求,编写程序并运行和查看结果。 1、创建并运行一个存储过程,要求实现如下功能:输入学生学号,根据该学生所选课程的平均成绩显示提示信息,即如果平均成绩在 60 分以上,显示“成绩合格,成绩为 xx 分”,否则显示“成绩不合格,成绩为 xx 分” 。

时间: 2023-06-14 12:06:51 浏览: 72
以下是实现上述要求的存储过程的代码: ```sql CREATE PROCEDURE sp_showAvgScore @student_id INT AS BEGIN DECLARE @avg_score FLOAT SELECT @avg_score = AVG(score) FROM SC WHERE student_id = @student_id GROUP BY student_id IF @avg_score >= 60 PRINT '成绩合格,成绩为 ' + CONVERT(VARCHAR(10), @avg_score) + ' 分' ELSE PRINT '成绩不合格,成绩为 ' + CONVERT(VARCHAR(10), @avg_score) + ' 分' END ``` 该存储过程的输入参数为学生学号,它会根据该学生所选课程的平均成绩显示提示信息。首先,它会计算该学生的平均成绩,然后根据平均成绩判断是否合格并输出对应的提示信息。 运行该存储过程的方法如下: ```sql EXEC sp_showAvgScore 1 ``` 其中,1 是学生的学号,可以根据需要修改。运行结果会根据该学生所选课程的平均成绩输出对应的提示信息。
相关问题

mysql采用前面实验所创建的数据库S_C及其上所建立的STUDENT、COURSE和SC表和数据(必要时可补充数据),根据如下要求,编写程序并运行和查看结果。1、创建并运行一个存储过程,要求实现如下功能:输入学生学号,根据该学生所选课程的平均成绩显示提示信息,即如果平均成绩在 60 分以上,显示"成绩合格,成绩为 xx 分",否则显示"成绩不合格,成绩为 xx 分" 。给我两种方法

方法一:使用存储过程实现 首先,我们需要创建一个存储过程,输入学生学号,计算该学生所选课程的平均成绩,并根据平均成绩显示提示信息。 下面是实现该功能的存储过程代码: ```mysql DELIMITER $$ CREATE PROCEDURE `get_student_avg_score`(IN `stu_id` INT) BEGIN DECLARE avg_score FLOAT; SELECT AVG(score) INTO avg_score FROM SC WHERE Sno = stu_id; IF avg_score >= 60 THEN SELECT CONCAT('成绩合格,成绩为 ', FORMAT(avg_score, 2), ' 分') AS result; ELSE SELECT CONCAT('成绩不合格,成绩为 ', FORMAT(avg_score, 2), ' 分') AS result; END IF; END$$ DELIMITER ; ``` 然后,我们可以调用该存储过程并输入学生学号来测试该功能。例如,输入学号为 1001 的学生的平均成绩: ```mysql CALL get_student_avg_score(1001); ``` 方法二:使用函数实现 除了使用存储过程,我们还可以使用函数来实现同样的功能。下面是实现该功能的函数代码: ```mysql DELIMITER $$ CREATE FUNCTION `get_student_avg_score_func`(stu_id INT) RETURNS VARCHAR(100) BEGIN DECLARE avg_score FLOAT; SELECT AVG(score) INTO avg_score FROM SC WHERE Sno = stu_id; IF avg_score >= 60 THEN RETURN CONCAT('成绩合格,成绩为 ', FORMAT(avg_score, 2), ' 分'); ELSE RETURN CONCAT('成绩不合格,成绩为 ', FORMAT(avg_score, 2), ' 分'); END IF; END$$ DELIMITER ; ``` 调用该函数的方法与调用存储过程类似,例如,输入学号为 1001 的学生的平均成绩: ```mysql SELECT get_student_avg_score_func(1001); ```

用SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表。

可以使用以下SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表: ``` DROP TABLE IF EXISTS Student; DROP TABLE IF EXISTS Course; DROP TABLE IF EXISTS SC; ``` 这三个语句分别对应删除Student、Course、SC三个表,如果这些表不存在,则不会报错。注意,执行这些语句会永久删除这些表及其数据,所以请谨慎操作。

相关推荐

最新推荐

recommend-type

实验训练1 在MySQL中创建数据库和表.docx

有安装、创建库、创建表、增加、修改、删除、查询等等一共16页,有截图、很详细的步骤讲解、操作,用于国家开发大学形考考试作业用。
recommend-type

mysql数据库实验报告 数据表的操作

MySQL数据库的创建、查看、删除、使用命令。 表结构创建和修改、表约束的创建和修改; 表数据的插入、删除和修改; 表联系的创建和修改。
recommend-type

国家开放大学 MySQL数据库应用 实验训练1 在MySQL中创建数据库和表

国家开放大学 MySQL数据库应用 实验训练1 在MySQL中创建数据库和表
recommend-type

数据库实验一实验一 熟悉数据库管理工具、数据库和表的基本操作 一、实验目的: 1.了解SQL Server或MYSQL数据库的基本知识; 2.熟悉SQL Se

实验一 熟悉数据库管理工具、数据库和表的基本操作 一、实验目的: 1.了解SQL Server或MYSQL数据库的基本知识; 2.熟悉SQL Server或MYSQL环境和系统结构; 3.掌握图形化交互工具的基本操作,学会数据库及表的...
recommend-type

实验1 创建数据库和修改数据库

实验1 创建数据库和修改数据库 实验目的: (1)掌握使用SQL Server Management Studio创建数据库。 (2)掌握使用Transact-SQL创建数据库。掌握数据文件及文件组的分类 。 (3)学会查看和修改数据库选项。 (4...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】MATLAB用遗传算法改进粒子群GA-PSO算法

![MATLAB智能算法合集](https://static.fuxi.netease.com/fuxi-official/web/20221101/83f465753fd49c41536a5640367d4340.jpg) # 2.1 遗传算法的原理和实现 遗传算法(GA)是一种受生物进化过程启发的优化算法。它通过模拟自然选择和遗传机制来搜索最优解。 **2.1.1 遗传算法的编码和解码** 编码是将问题空间中的解表示为二进制字符串或其他数据结构的过程。解码是将编码的解转换为问题空间中的实际解的过程。常见的编码方法包括二进制编码、实数编码和树形编码。 **2.1.2 遗传算法的交叉和
recommend-type

openstack的20种接口有哪些

以下是OpenStack的20种API接口: 1. Identity (Keystone) API 2. Compute (Nova) API 3. Networking (Neutron) API 4. Block Storage (Cinder) API 5. Object Storage (Swift) API 6. Image (Glance) API 7. Telemetry (Ceilometer) API 8. Orchestration (Heat) API 9. Database (Trove) API 10. Bare Metal (Ironic) API 11. DNS
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。