MySQL创建存储过程并调用,实现查询数据库ems的员工表emp中工资大于指定金额的员工信息,并且统计出资工大于指定金额的员工的人数
时间: 2024-03-21 15:41:28 浏览: 137
PL/SQL中编写Oracle数据库分页的存储过程
好的,以下是MySQL创建存储过程并调用,实现查询数据库ems的员工表emp中工资大于指定金额的员工信息,并且统计出资工大于指定金额的员工的人数的代码:
```sql
DELIMITER //
CREATE PROCEDURE search_emp_by_salary(IN salary INT, OUT emp_count INT)
BEGIN
SELECT * FROM emp WHERE salary > salary;
SELECT COUNT(*) INTO emp_count FROM emp WHERE salary > salary;
END //
DELIMITER ;
-- 调用存储过程
SET @emp_count = 0;
CALL search_emp_by_salary(5000, @emp_count);
SELECT @emp_count;
```
以上代码中,我们使用 `CREATE PROCEDURE` 关键字创建一个名为 `search_emp_by_salary` 的存储过程,该存储过程有一个输入参数 `salary` 和一个输出参数 `emp_count`。存储过程中使用两条 SQL 语句查询符合条件的员工信息,并统计数量,最后将统计结果赋值给输出参数 `emp_count`。
在存储过程创建完成后,我们使用 `SET` 关键字将输出参数 `emp_count` 的初始值设为 0,然后使用 `CALL` 关键字调用存储过程,并将指定的工资金额传入。最后使用 `SELECT` 关键字查询输出参数 `emp_count` 的值,并打印输出。
阅读全文