Поделиться через


Изменение представлений

Относится к:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsСистема аналитической платформы (PDW)SQL база данных в Microsoft Fabric

После определения представления вы можете изменить его определение в серверной части СУБД SQL Server, не удаляя и не создавая заново, используя SQL Server Management Studio или Transact-SQL.

ограничения и ограничения

  • Изменение представления не влияет на зависимые объекты, такие как хранимые процедуры или триггеры, если определение представления не изменяется таким образом, чтобы зависимый объект больше не был допустимым.

  • При изменении текущего представления с помощью инструкции ALTER VIEW база данных осуществляет исключительную блокировку схемы представления. Если блокировка предоставлена, и с представлением в настоящий момент не работает ни один пользователь, ядро СУБД удаляет все копии представления из кэша процедур. Существующие планы, ссылающиеся на представление, остаются в кэше, но при обращении к ним выполняется повторная компиляция.

  • Инструкцию ALTER VIEW можно применять к индексированным представлениям; однако ALTER VIEW безусловно удаляет все индексы представления.

Разрешения

Для выполнения инструкции ALTER VIEW необходимо как минимум разрешение ALTER на объект.

Использование SQL Server Management Studio

  1. В обозреватель объектов выберите знак плюса рядом с базой данных, в которой находится ваше представление, а затем щелкните знак плюса рядом с папкой Views.

  2. Щелкните правой кнопкой мыши представление, которое нужно изменить, и выберите Конструктор.

  3. На панели диаграмм конструктора запросов внесите изменения в представление одним из следующих способов.

    1. Установите или снимите флажки элементов, которые необходимо добавить или удалить.

    2. Щелкните правой кнопкой мыши на панели диаграмм, выберите Добавить таблицу…, а затем выберите дополнительные столбцы, которые необходимо добавить к представлению, в диалоговом окне Добавить таблицу.

    3. Щелкните правой кнопкой мыши строку заголовка таблицы, которую необходимо удалить, и выберите Удалить.

  4. В меню "Файл" выберите "Сохранить имя представления".

Использование Transact-SQL

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере сначала создается представление, а затем оно изменяется с помощью инструкции ALTER VIEW. Предложение WHERE добавляется к определению представления.

    USE AdventureWorks2022;
    GO
    
    -- Create a view
    CREATE VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName,
         p.LastName,
         e.HireDate
    FROM HumanResources.Employee AS e
    INNER 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
    INNER JOIN Person.Person AS p
         ON e.BusinessEntityID = p.BusinessEntityID
    WHERE HireDate < CONVERT(DATETIME, '20020101', 101);
    GO
    

Следующие шаги