SQL SEVER.在数据库HrSystem中创建存储过程 avg wage,用于求所有员工的平均工资,并通过输出参数返回该平均工资。要求在创建存储过程之前要首先判断该存储过程是否已经存在,如果存在,则将其删除。
时间: 2024-12-02 11:14:16 浏览: 26
在SQL Server中,你可以通过以下步骤来创建、检查并管理名为`avgWage`的存储过程。首先,我们需要编写存储过程的逻辑,然后使用`IF EXISTS`语句检查其是否存在,如果存在则删除,最后创建新的存储过程。
```sql
CREATE OR REPLACE PROCEDURE avgWage
AS
BEGIN
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[avgWage]') AND type in (N'P'))
BEGIN
PRINT 'The procedure avgWage already exists. Deleting it...'
DROP PROCEDURE dbo.avgWage;
END;
CREATE PROCEDURE dbo.avgWage
AS
BEGIN
DECLARE @averageSalary DECIMAL(10, 2);
SELECT @averageSalary = AVG(salary) INTO @averageSalary
FROM HrSystem.employees;
PRINT 'The average salary is: ' + CONVERT(VARCHAR, @averageSalary);
END;
END;
```
在这个示例中,我们首先检查`sys.objects`系统表,看`avgWage`存储过程是否已存在于`dbo` schema(默认方案)。如果存在,就删除它。接着,我们再次创建这个存储过程,计算`HrSystem.employees`表中的平均工资,并将结果通过`PRINT`语句输出。
阅读全文