重命名存储过程

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 重命名 SQL Server 2014 中的存储过程。

本主题内容

在您开始之前

局限性与限制

  • 过程名称必须符合 标识符规则。

  • 重命名存储过程不会更改 sys.sql_modules 目录视图的定义列中相应对象名称的名称。 因此,建议不要重命名此对象类型。 相反,请删除并重新创建具有新名称的存储过程。

  • 如果对象未更新以反映对过程所做的更改,更改过程的名称或定义可能会导致依赖对象失败。 有关详细信息,请参阅 查看存储过程的依赖关系

安全

权限

创建流程
需要数据库中的 CREATE PROCEDURE 权限和对在其中创建该过程的架构的 ALTER 权限,或者需要 db_ddladmin 固定数据库角色的成员身份。

ALTER PROCEDURE
需要对过程具有 ALTER 权限,或者需要 db_ddladmin 固定数据库角色的成员身份。

使用 SQL Server Management Studio

重命名存储过程

  1. 在对象资源管理器中,连接到 数据库引擎 的实例,然后展开该实例。

  2. 展开 “数据库”,展开过程所属的数据库,然后展开 “可编程性”

  3. 确定存储过程的依赖项

  4. 展开 存储过程,右键单击要重命名的过程,然后单击“ 重命名”。

  5. 修改过程名称。

  6. 修改任何依赖对象或脚本中引用的过程名称。

使用 Transact-SQL

重命名存储过程

  1. 连接到数据库引擎。

  2. 在标准栏中,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行。 此示例说明如何先删除过程,然后用新名称重新创建该过程,以实现重命名。 第一个示例创建存储过程 'HumanResources.uspGetAllEmployeesTest。 第二个示例将存储过程重命名为 HumanResources.uspEveryEmployeeTest.

--Create the stored procedure.  
USE AdventureWorks2012;  
GO  
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployeesTest', 'P' ) IS NOT NULL   
    DROP PROCEDURE HumanResources.uspGetAllEmployeesTest;  
GO  
CREATE PROCEDURE HumanResources.uspGetAllEmployeesTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  
  
--Rename the stored procedure.  
USE AdventureWorks2012;  
GO  
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployeesTest', 'P' ) IS NOT NULL   
    DROP PROCEDURE HumanResources.uspGetAllEmployeesTest;  
GO  
CREATE PROCEDURE HumanResources.uspEveryEmployeeTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  

另请参阅

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE(Transact-SQL)
创建存储过程
修改存储过程
删除存储过程
查看存储过程的定义
查看存储过程的依赖关系