重命名存储过程

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库

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

本主题内容

开始之前

限制和局限

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

  • 重命名存储过程会保留 object_id 以及专门分配给该过程的所有权限。 删除并重新创建对象将创建一个新的 object_id,并删除专门分配给该过程的所有权限。

  • 重命名存储过程将不会更改 sys.sql_modules 目录视图的定义列中相应对象名的名称。 要执行该操作,必须删除存储过程,然后使用新名称重新创建该存储过程。

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

Security

权限

CREATE PROCEDURE
要求数据库中的 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  

CREATE PROCEDURE HumanResources.uspGetAllEmployeesTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  
  
--Rename the stored procedure.  
EXEC sp_rename 'HumanResources.uspGetAllEmployeesTest', 'uspEveryEmployeeTest'; 

另请参阅

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