--- title: "Modify Views | Microsoft Docs" ms.custom: "" ms.date: "03/14/2017" ms.prod: sql ms.prod_service: "table-view-index, sql-database, sql-data-warehouse, pdw" ms.reviewer: "" ms.technology: table-view-index ms.topic: conceptual helpviewer_keywords: - "views [SQL Server], renaming" - "views [SQL Server], modifying" - "modifying views" - "renaming views" ms.assetid: 2d3c14dc-43e5-4324-b8fb-f2692d330b16 author: stevestein ms.author: sstein monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||=sqlallproducts-allversions||>=sql-server-linux-2017||=azuresqldb-mi-current" --- # Modify Views [!INCLUDE[tsql-appliesto-ss2008-asdb-asdw-pdw-md](../../includes/tsql-appliesto-ss2008-all-md.md)] After you define a view, you can modify its definition in [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)] without dropping and re-creating the view by using [!INCLUDE[ssManStudioFull](../../includes/ssmanstudiofull-md.md)] or [!INCLUDE[tsql](../../includes/tsql-md.md)]. **In This Topic** - **Before you begin:** [Limitations and Restrictions](#Restrictions) [Security](#Security) - **To modify a view, using:** [SQL Server Management Studio](#SSMSProcedure) [Transact-SQL](#TsqlProcedure) ## Before You Begin ### Limitations and Restrictions - Modifying a view does not affect any dependent objects, such as stored procedures or triggers, unless the definition of the view changes in such a way that the dependent object is no longer valid. - If a view currently used is modified by using ALTER VIEW, the [!INCLUDE[ssDE](../../includes/ssde-md.md)] takes an exclusive schema lock on the view. When the lock is granted, and there are no active users of the view, the [!INCLUDE[ssDE](../../includes/ssde-md.md)] deletes all copies of the view from the procedure cache. Existing plans referencing the view remain in the cache but are recompiled when invoked. - ALTER VIEW can be applied to indexed views; however, ALTER VIEW unconditionally drops all indexes on the view. ### Security #### Permissions To execute ALTER VIEW, at a minimum, ALTER permission on OBJECT is required. ## Using SQL Server Management Studio #### To modify a view 1. In **Object Explorer**, click the plus sign next to the database where your view is located and then click the plus sign next to the **Views** folder. 2. Right-click on the view you wish to modify and select **Design**. 3. In the diagram pane of the query designer, make changes to the view in one or more of the following ways: 1. Select or clear the check boxes of any elements you wish to add or remove. 2. Right-click within the diagram pane, select **Add Table...**, and then select the additional columns you want to add to the view from the **Add Table** dialog box. 3. Right-click the title bar of the table you wish to remove and select **Remove**. 4. On the **File** menu, click **Save**_view name_. ## Using Transact-SQL #### To modify a view 1. In **Object Explorer**, connect to an instance of [!INCLUDE[ssDE](../../includes/ssde-md.md)]. 2. On the Standard bar, click **New Query**. 3. Copy and paste the following example into the query window and click **Execute**. The example first creates a view and then modifies the view by using ALTER VIEW. A WHERE clause is added to the view definition. ``` 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 ``` For more information, see [ALTER VIEW (Transact-SQL)](../../t-sql/statements/alter-view-transact-sql.md).