重新命名檢視

適用於: SQL Server Azure SQL Database Not supported. Azure Synapse Analytics Analytics Platform System (PDW)

您可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中重新命名檢視。

警告

如果您重新命名檢視,涉及該檢視的程式碼和應用程式都會失敗。 這些包含其他檢視、查詢、預存程序、使用者定義函數,以及用戶端應用程式。 注意,這些失敗會串聯。

必要條件

  1. 取得檢視的所有相依性的清單。 參考檢視的任何物件、指令碼或應用程式都必須修改,以反映檢視的新名稱。 如需詳細資訊,請參閱 Get Information About a View
  2. 建議您卸除檢視,並使用新名稱重新建立檢視,而不要重新命名檢視。 透過重新建立檢視,可更新檢視中所參考之物件的相依性資訊。
    1. 卸除和重新建立檢視會移除指派給檢視的任何細微 SQL 權限。 如果將任何細微 SQL 權限指派給檢視,您需要在重新建立檢視之後,再次將權限授與檢視。 若要在物件卸除之前擷取授與的細微權限,請參閱 sys.database_permissions (Transact-SQL) 中的範例。 若要授與權限,請參閱為主體授與權限

權限

需要 SCHEMA 的 ALTER 權限,或 OBJECT 的 CONTROL 權限,以及資料庫的 CREATE VIEW 權限。

使用 SQL Server Management Studio

重新命名檢視

  1. [物件總管]中,展開資料庫,此資料庫包含您要重新命名的檢視,然後展開 [檢視] 資料夾。

  2. 以滑鼠右鍵按一下您要重新命名的檢視,然後選取 [重新命名]

  3. 輸入檢視的新名稱。

使用 Transact-SQL

雖然您可以使用 sp_rename 變更檢視的名稱,但建議您刪除現有的檢視,然後使用新名稱重新建立檢視。

當您使用 sp_rename 重新命名預存程序、函數、檢視或觸發程序時,sys.sql_modules 目錄檢視的定義資料行中對應物件的名稱不會變更。 這可能會導致未來混淆。 因此,我們不建議使用 sp_rename 來重新命名物件。 相反地,請卸除物件,再使用其新名稱來重新建立物件。

例如:

DROP VIEW [dbo].[vOrders];
GO

CREATE VIEW [dbo].[vOrders]
AS 
<select_statement>
GO

如需詳細資訊,請參閱 CREATE VIEW (Transact-SQL)DROP VIEW (Transact-SQL)

待處理:重新命名檢視之後

  1. 確定參考檢視舊名稱的任何物件、指令碼和應用程式現在都使用新名稱。
  2. 卸除和重新建立檢視會移除指派給檢視的任何細微 SQL 權限。 如果將任何細微 SQL 權限指派給檢視,您需要在重新建立檢視時,再次將權限授與檢視。 若要在物件卸除之前擷取授與的細微權限,請參閱 sys.database_permissions (Transact-SQL) 中的範例。 若要授與權限,請參閱為主體授與權限