创建一个带输入输出参数的存储过程pro_working_years,实现输入员工工号,显示其工龄的功能,并调用函数,查询工号为7449员工的工龄。
时间: 2024-02-20 22:59:25 浏览: 53
数据库管理与应用 8.2.3 创建带有输入、输出参数的存储过程.pdf
好的,以下是创建该存储过程并调用的 SQL 代码:
```
CREATE PROCEDURE pro_working_years
@employee_id INT,
@working_years INT OUTPUT
AS
BEGIN
DECLARE @hire_date DATE
SELECT @hire_date = hire_date FROM employees WHERE employee_id = @employee_id
SET @working_years = DATEDIFF(YEAR, @hire_date, GETDATE())
END
GO
DECLARE @working_years INT
EXEC pro_working_years @employee_id = 7449, @working_years = @working_years OUTPUT
SELECT @working_years AS working_years
```
首先,我们创建了一个名为 `pro_working_years` 的存储过程,用于计算员工的工龄。该存储过程接受一个输入参数 `@employee_id`,表示员工的工号,和一个输出参数 `@working_years`,表示员工的工龄。在存储过程中,我们先查询该员工的入职日期,然后使用 `DATEDIFF` 函数计算员工的工龄,最后将结果存储到 `@working_years` 参数中。
接着,我们调用存储过程 `pro_working_years`,并传入工号为 7449 的员工,同时指定输出参数 `@working_years`。最后,我们使用 `SELECT` 语句查询 `@working_years` 参数的值,即工号为 7449 的员工的工龄。
注意,如果你的数据库中没有 `employees` 表,需要根据实际情况修改查询语句中的表名和字段名。
阅读全文