重新命名預存程序
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中重新命名預存程序。
本主題內容
開始之前:
若要重新命名預存程序,使用:
開始之前
限制事項
程序名稱必須符合 識別碼的規則。
重新命名預存程序會保留
object_id
及特別指派給此程序的所有權限。 卸除並重新建立物件會建立新的object_id
,並移除特別指派給此程序的任何權限。重新命名預存程序不會變更 sys.sql_modules 目錄檢視 definition 資料行中對應的物件名稱。 若要那麼做,您必須卸除並重新建立具有新名稱的預存程序。
變更程序的名稱或定義後,若未更新物件來反映對程序所做的變更,則可能導致相依物件執行失敗。 如需詳細資訊,請參閱 檢視預存程序的相依性。
安全性
權限
CREATE PROCEDURE
需要資料庫的 CREATE PROCEDURE 權限,以及要在其中建立程序之結構描述的 ALTER 權限,或者需要 db_ddladmin 固定資料庫角色的成員資格。
ALTER PROCEDURE
需要程序的 ALTER 權限,或 db_ddladmin 固定資料庫角色的成員資格。
使用 SQL Server Management Studio
若要重新命名預存程序
- 在 [物件總管] 中,連接到資料庫引擎的執行個體,然後展開該執行個體。
- 依序展開 [資料庫] 、程序所屬的資料庫,以及 [可程式性] 。
- 判斷預存程序的相依性。
- 展開 [預存程序],以滑鼠右鍵按一下要重新命名的程序,然後按一下 [重新命名]。
- 修改程序名稱。
- 修改在任何相依物件或指令碼中參考的程序名稱。
使用 TRANSACT-SQL
若要重新命名預存程序
- 連線至資料庫引擎。
- 在標準列中,按一下 [新增查詢] 。
- 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 這個範例示範如何藉由卸除程序,再以新名稱重新建立程序的方式重新命名程序。 第一個範例會建立
'HumanResources.uspGetAllEmployeesTest
預存程序。 第二個範例會將預存程序重新命名為HumanResources.uspEveryEmployeeTest
。
--Create the stored procedure.
USE AdventureWorks2022;
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)
建立預存程序
修改預存程序
刪除預存程序
檢視預存程序的定義
檢視預存程序的相依性