创建一个名为grade info的存储过程,实现查询某门课程的历有学生成绩,并调用。
时间: 2024-01-22 21:20:18 浏览: 63
以下是创建存储过程的 SQL 代码:
```
CREATE PROCEDURE grade_info
@course_name VARCHAR(50)
AS
BEGIN
SELECT student_name, grade
FROM grades
WHERE course_name = @course_name;
END
```
该存储过程接收一个参数 `@course_name`,用于指定要查询的课程名。在存储过程内部,使用 SELECT 语句查询 `grades` 表中指定课程的学生成绩列表,并返回结果集。
可以使用以下代码调用该存储过程:
```
EXEC grade_info 'Mathematics';
```
该代码将查询 `Mathematics` 课程的所有学生成绩,以学生姓名和成绩的形式返回结果集。你可以将 `Mathematics` 替换为其他课程名,以查询其他课程的学生成绩。
相关问题
创建一个名为grade_info的存储过程,实现查询某门课程的所有学生成绩,并调用。
以下是创建名为grade_info的存储过程的SQL代码,该存储过程接收一个参数course_name,用于指定查询的课程名称:
```
CREATE PROCEDURE grade_info (IN course_name VARCHAR(255))
BEGIN
SELECT student_name, score
FROM grades
WHERE course = course_name;
END;
```
调用存储过程的SQL代码如下,将参数"Math"传递给存储过程:
```
CALL grade_info("Math");
```
执行以上代码后,将返回选修数学课程的所有学生成绩。需根据实际情况修改表格名和列名。
创建一个名为 select_dv的存储过程,根据输入的系名和课程号查询某系学生某门课的平均成绩并返回。调用此过程。
好的,以下是创建 `select_dv` 存储过程的 SQL 代码:
```
CREATE PROCEDURE select_dv
@dept_name VARCHAR(20),
@course_id VARCHAR(10)
AS
BEGIN
SELECT AVG(grade) AS average_grade
FROM takes, student
WHERE takes.ID = student.ID
AND takes.course_id = @course_id
AND student.dept_name = @dept_name
END
```
然后,可以使用以下 SQL 代码调用此存储过程:
```
EXEC select_dv @dept_name = '计算机科学系', @course_id = 'CS101'
```
请注意,此处的参数值只是示例,请替换为您实际需要查询的系名和课程号。
阅读全文