修改檢視
定義檢視之後,可以使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中修改其定義,不需要卸除和重新建立檢視。
本主題內容
開始之前:
限制事項
安全性
使用下列方法修改檢視:
SQL Server Management Studio
Transact-SQL
開始之前
限制事項
修改檢視不會影響任何相依物件,像是預存程序或觸發程序,除非檢視的定義變更導致相依物件不再有效。
如果目前所用的檢視是利用 ALTER VIEW 來修改的,Database Engine 會取得檢視的獨佔結構描述鎖定。 當授與鎖定時,檢視並沒有使用中的使用者,Database Engine 會從程序快取中刪除檢視的所有副本。 現有參考這份檢視的計畫會保留在快取中,但在叫用它時,會重新編譯。
您可以將 ALTER VIEW 套用在索引檢視上;不過,ALTER VIEW 會無條件地卸除檢視的所有索引。
安全性
權限
若要執行 ALTER VIEW,至少需要 OBJECT 的 ALTER 權限。
[Top]
使用 SQL Server Management Studio
若要修改檢視
在 [物件總管] 中,按一下檢視所在之資料庫旁邊的加號,然後按一下 [檢視] 資料夾旁邊的加號。
以滑鼠右鍵按一下您要修改的檢視,然後選取 [設計]。
在查詢設計工具的圖表窗格中,以下列一個或多個方式變更檢視:
對於您要加入或移除的任何元素,選取或清除核取方塊。
在圖表窗格中按一下滑鼠右鍵,選取 [加入資料表],然後從 [加入資料表] 對話方塊選取要加入至檢視的其他資料行。
以滑鼠右鍵按一下您要移除資料表的標題列,然後選取 [移除]。
按一下 [檔案] 功能表上的 [儲存 view name]。
[Top]
使用 Transact-SQL
若要修改檢視
在 [物件總管] 中,連接到 Database Engine 的執行個體。
在標準列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例先建立檢視,然後透過使用 ALTER VIEW 修改此檢視。 檢視定義中會加入 WHERE 子句。
USE AdventureWorks2012 ; GO -- Create a view. CREATE VIEW HumanResources.EmployeeHireDate AS SELECT p.FirstName, p.LastName, e.HireDate FROM HumanResources.Employee AS e JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID ; -- Modify the view by adding a WHERE clause to limit the rows returned. ALTER VIEW HumanResources.EmployeeHireDate AS SELECT p.FirstName, p.LastName, e.HireDate FROM HumanResources.Employee AS e JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID WHERE HireDate < CONVERT(DATETIME,'20020101',101) ; GO
如需詳細資訊,請參閱<ALTER VIEW (Transact-SQL)>。
[Top]