2(带参数 in、ouD创建存储过程 cno_pro,输入课程号后,统计选修此课程的人数,并调用存储过程。
时间: 2023-12-17 11:04:43 浏览: 103
数据库管理与应用 8.2.3 创建带有输入、输出参数的存储过程.pdf
在创建存储过程前,需要先确定表结构和样例数据。
假设我们有一个名为`student_course`的表,其结构如下:
| 字段名 | 数据类型 | 说明 |
| --- | --- | --- |
| student_id | int | 学生ID |
| course_id | int | 课程ID |
现在假设我们要统计选修某一课程的人数,可以使用如下的存储过程:
```mysql
CREATE PROCEDURE cno_pro (IN courseId INT, OUT studentCount INT)
BEGIN
SELECT COUNT(*) INTO studentCount FROM student_course WHERE course_id = courseId;
END;
```
其中,`IN`表示输入参数,`OUT`表示输出参数。该存储过程接受一个输入参数`courseId`,表示要统计的课程ID,同时输出一个`studentCount`变量,表示选修该课程的学生人数。
接下来,我们可以使用以下代码调用存储过程:
```mysql
CALL cno_pro(1001, @result);
SELECT @result;
```
该代码会调用`cno_pro`存储过程,将课程ID为`1001`传递给`courseId`参数,同时将返回值赋值给变量`@result`,最后通过`SELECT`语句输出变量`@result`的值,即选修该课程的学生人数。
阅读全文