重命名存储过程
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中重命名存储过程。
本主题内容
开始之前:
限制和局限
安全性
若要重命名存储过程,请使用:
SQL Server Management Studio
Transact-SQL
开始之前
限制和局限
过程名称必须符合标识符的规则。
重命名存储过程将不会更改 sys.sql_modules 目录视图的定义列中相应对象名的名称。 因此,我们建议不要重命名此对象类型。 而是删除存储过程,然后使用新名称重新创建该存储过程。
在未将对象更新为反映已对过程所做的更改时,更改过程的名称或定义可能导致依赖对象失败。 有关详细信息,请参阅查看存储过程的依赖关系。
安全性
权限
CREATE PROCEDURE
要求数据库中的 CREATE PROCEDURE 权限以及对要创建过程的架构的 ALTER 权限,或者要求 db_ddladmin 固定数据库角色中的成员身份。ALTER PROCEDURE
要求对过程具有 ALTER 权限,或者要求 db_ddladmin 固定数据库角色中的成员身份。
[Top]
使用 SQL Server Management Studio
重命名存储过程
在对象资源管理器中,连接到数据库引擎实例,然后展开该实例。
展开**“数据库”、过程所属的数据库以及“可编程性”**。
展开**“存储过程”,右键单击要重命名的过程,再单击“重命名”**。
修改过程名称。
修改在任何相关对象或脚本中引用的过程名称。
[Top]
使用 Transact-SQL
重命名存储过程
连接到数据库引擎。
在标准菜单栏上,单击**“新建查询”**。
将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 此示例说明如何通过删除过程并使用新名称重新创建该过程来重命名过程。 第一个示例将创建 '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
[Top]
请参阅
参考
ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)