MySQL创建存储过程实现统计emp表中指定某个部门的总人数
时间: 2024-05-11 19:16:17 浏览: 12
好的,您可以使用以下代码来创建一个存储过程来统计emp表中指定某个部门的总人数:
```
DELIMITER //
CREATE PROCEDURE count_emp_by_department(in_dept_no INT)
BEGIN
DECLARE total_count INT;
SELECT COUNT(*) INTO total_count FROM emp WHERE dept_no = in_dept_no;
SELECT CONCAT('Total number of employees in department ', in_dept_no, ': ', total_count);
END//
DELIMITER ;
```
在上面的代码中,我们首先设置了分隔符为“//”,以便在创建存储过程时使用多个分号。然后,我们创建了一个名为“count_emp_by_department”的存储过程,并传入一个名为“in_dept_no”的整数参数。在存储过程的主体中,我们声明了一个名为“total_count”的整数变量,并使用一个SELECT语句从emp表中选择了所有部门编号等于in_dept_no的记录数,并将结果赋值给total_count变量。最后,我们使用SELECT语句返回了部门编号和总人数的字符串。
要执行这个存储过程来统计emp表中部门编号为“1001”的总人数,您可以使用以下代码:
```
CALL count_emp_by_department(1001);
```
这将会输出类似于“Total number of employees in department 1001: 10”的结果,其中“10”代表emp表中部门编号为“1001”的总人数。请注意,您需要将“1001”替换为您感兴趣的实际部门编号。