使用某个院系名称调用存储过程,查看该院系学生总数
时间: 2024-03-14 19:42:56 浏览: 86
抱歉,刚才我写的是 PostgreSQL 存储函数,而不是存储过程。但是,下面是一个使用 MySQL 存储过程实现您的需求的示例代码:
```sql
CREATE PROCEDURE count_students_by_department(IN department_name VARCHAR(255), OUT total_students INT)
BEGIN
DECLARE department_id INT;
SELECT id INTO department_id FROM departments WHERE name = department_name;
SELECT COUNT(*) INTO total_students FROM students WHERE department_id = department_id;
END;
```
该存储过程接受一个名为 `department_name` 的输入参数,并使用一个游标查询特定院系的学生人数。它还定义了一个名为 `total_students` 的输出参数,用于返回学生总数。
您可以像这样调用该存储过程:
```
CALL count_students_by_department('计算机科学与技术', @total_students);
SELECT @total_students;
```
第一行调用存储过程并将返回的学生总数存储在一个名为 `@total_students` 的 MySQL 变量中。第二行使用 `SELECT` 语句显示该变量的值。
请注意,您需要根据您的表结构和实际需求修改该存储过程。
阅读全文