Изменение представлений
После определения представления это определение можно изменить в SQL Server 2012 без удаления и повторного создания представления с помощью Среда SQL Server Management Studio или Transact-SQL.
В этом разделе
Перед началом работы выполните следующие действия.
Ограничения
Безопасность
Изменение представления с использованием следующих средств:
Среда SQL Server Management Studio
Transact-SQL
Перед началом
Ограничения
Изменение представлений не влияет ни на какие зависимые объекты, например хранимые процедуры или триггеры, до тех пор пока определение представления не будет изменено таким образом, что зависимый объект станет недопустимым.
При изменении текущего представления с помощью инструкции ALTER VIEW компонент Компонент Database Engine осуществляет монопольную блокировку схемы представления. Если блокировка предоставлена, и с представлением в настоящий момент не работает ни один пользователь, компонент Компонент Database Engine удаляет все копии представления из кэша процедур. Существующие планы, ссылающиеся на представление, остаются в кэше, но при обращении к ним выполняется повторная компиляция.
Инструкцию ALTER VIEW можно выполнять для индексированных представлений, однако она удаляет все индексы представления.
Безопасность
Разрешения
Для выполнения инструкции ALTER VIEW необходимо как минимум разрешение 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]