编写存储过程p_getbycname:根据给定的课程名(假定课程名唯一),得到选课人数和及格人数,并调用该存储过程
时间: 2023-07-05 11:24:06 浏览: 127
根据您的要求,我编写了一个简单的存储过程p_getbycname,用于根据给定的课程名获取选课人数和及格人数。
存储过程代码如下:
```
CREATE PROCEDURE p_getbycname
(
IN course_name VARCHAR(50),
OUT total INT,
OUT pass INT
)
BEGIN
SELECT COUNT(*) INTO total FROM student_course WHERE course_name = course_name;
SELECT COUNT(*) INTO pass FROM student_course WHERE course_name = course_name AND score >= 60;
END;
```
参数说明:
- IN course_name:输入参数,表示要查询的课程名;
- OUT total:输出参数,表示选课人数;
- OUT pass:输出参数,表示及格人数。
使用示例:
```
DECLARE @total INT;
DECLARE @pass INT;
EXEC p_getbycname '计算机网络', @total OUT, @pass OUT;
SELECT @total AS total, @pass AS pass;
```
注意事项:
- 在调用存储过程时,需要声明输出参数,并将其传递给存储过程;
- 存储过程中的SQL语句可以根据具体情况进行修改;
- 存储过程的名称、参数个数和参数类型需要根据具体需求进行修改。
阅读全文