建存储过程tj_rs:根据部门编号(int),返回该部门的员工总数,男员工数,女员工数(注意参数顺序必须与题目一致)。 相关表结构: 1、员工表:employee 1.png 2、部门表:department 6.png
时间: 2024-03-06 11:46:54 浏览: 14
好的,你需要一个存储过程tj_rs,它根据部门编号(int),返回该部门的员工总数,男员工数,女员工数。相关表结构如下:
员工表employee:
```
employee(eid, ename, sex, age, did)
```
部门表department:
```
department(did, dname)
```
下面是创建存储过程tj_rs的SQL语句:
```
CREATE PROCEDURE tj_rs
@did INT
AS
BEGIN
DECLARE @total INT, @male INT, @female INT;
SELECT @total = COUNT(*),
@male = COUNT(CASE WHEN sex = '男' THEN 1 ELSE NULL END),
@female = COUNT(CASE WHEN sex = '女' THEN 1 ELSE NULL END)
FROM employee
WHERE did = @did;
SELECT @total AS total, @male AS male, @female AS female;
END;
```
存储过程tj_rs接受一个部门编号作为输入参数,然后查询员工表中该部门的员工总数、男员工数、女员工数,最后将结果作为输出参数返回。
你可以使用以下SQL语句调用存储过程:
```
EXEC tj_rs @did = 1;
```
其中,@did = 1表示查询部门编号为1的部门。
希望这可以帮助你。