Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5823 / 383 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00
Лекция 18:

Создание и использование представлений

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

Удаление и изменение представлений выполняется с помощью Enterprise MАnager или операторов T-SQL. Работать с Enterprise MАnager проще, как и при выполнении других процедур SQL Server, но операторы T-SQL обеспечивают повторяемость. В этом разделе мы рассмотрим оба метода.

Использование Enterprise MАnager для изменения и удаления представлений

Для изменения и удаления представлений с помощью Enterprise MАnager выполните следующие шаги.

  • В окне Enterprise MАnager раскройте папку Databases на нужном сервере, раскройте базу данных, содержащую представление, которое хотите удалить или изменить, и затем щелкните на Views (Представления), чтобы в правой панели этого окна появился список представлений (рис. 18.17).
    Список представлений в окне Enterprise MАnager

    увеличить изображение
    Рис. 18.17. Список представлений в окне Enterprise MАnager
  • Щелкните правой кнопкой мыши на имени представления, которое хотите модифицировать или удалить. Появится контекстное меню (рис. 18.18). Чтобы удалить представление, выберите в этом меню пункт Delete (Удалить). Чтобы изменить представление, выберите пункт Design View (Разработка представления).
  • Если выбран пункт Delete, то появится диалоговое окно Drop Objects (Удаление объектов) (рис. 18.19). Щелкните на кнопке Show Dependencies (Показать зависимости), чтобы увидеть базовую структуру представления. Здесь вы можете видеть, от каких таблиц зависит представление. Если выбрано представление типа join (связывание) или union (объединение), то вы увидите все участвующие таблицы; если это представление по определенным колонкам или строкам, то вы увидите только одну таблицу. Когда вы будете готовы удалить выбранное представление, щелкните на кнопке Drop All (Удалить все) в диалоговом окне Drop Objects.
    Контекстное меню для выбранного представления

    увеличить изображение
    Рис. 18.18. Контекстное меню для выбранного представления
     Диалоговое окно Drop Objects (Удаление объектов)

    Рис. 18.19. Диалоговое окно Drop Objects (Удаление объектов)
    Если в контекстном меню выбран пункт Design View, то появится окно Design View (рис. 18.20). Отметим его сходство с окном (рис. 18.10). Вы можете использовать окно Design View для модифицирования вашего представления таким же способом, что и при создании представления в окне New View.
  • После внесения необходимых изменений в представление закройте окно Design View, щелкнув на кнопке Close (Закрыть) этого окна. Затем вы получите предложение сохранить это представление.
     Окно Design View

    увеличить изображение
    Рис. 18.20. Окно Design View

Закончив модифицирование представления, вы можете задать полномочия доступа к этому представлению. Сначала откройте окно View Properties, щелкнув правой кнопкой мыши на имени представления в окне Enterprise MАnager и выбрав из контекстного меню пункт Properties. Затем щелкните на Permissions (Полномочия), чтобы вывести на экран полномочия доступа для данного представления. (О процессе задания полномочий см. "Управление пользователями и системой безопасности" .)

Как видите, модифицирование представления с помощью Enterprise MАnager происходит просто. Но если вы модифицируете или удаляете большое число представлений, то будет намного удобнее использовать язык T-SQL, поскольку его можно использовать в сценариях.

Использование T-SQL для изменения и удаления представлений

Для изменения представлений с помощью T-SQL используйте оператор ALTER VIEW. Оператор ALTER VIEW аналогичен оператору CREATE VIEW и имеет следующий синтаксис:

ALTER VIEW имя_представления [(колонка, колонка, ...)]
[WITH ENCRYPTION]
AS 
ваш оператор SELECT
[WITH CHECK OPTION]

Единственным отличием между операторами ALTER VIEW и CREATE VIEW является то, что оператор CREATE VIEW не будет выполняться, если представление уже существует, а оператор ALTER VIEW не будет выполняться, если указанное представление не существует. (Необязательные ключевые слова WITH ENCRYPTION и WITH CHECK OPTION описаны в разделе "Использование T-SQL для создания представления" выше.)

Чтобы увидеть, как действует оператор ALTER VIEW, вернемся к нашему примеру секционирования (описанному в разделе "Секционирование"). Чтобы удалить устаревшую секцию данных и добавить новую секцию, мы можем изменить представление следующим образом:

ALTER VIEW partview
AS 
  	SELECT * FROM table_2 
  	UNION ALL 
  	SELECT * FROM table_3 
  	UNION ALL 
  	SELECT * FROM table_4 
  	UNION ALL 
  	SELECT * FROM table_5

Модифицированное представление будет выглядеть аналогично прежнему виду (до выполнения оператора ALTER VIEW ), но теперь будет выбран другой набор данных. Представление теперь не использует таблицу table_1 и использует таблицу table_5.

Для удаления представления используйте оператор DROP VIEW. Оператор DROP VIEW имеет следующий простой синтаксис:

DROP VIEW имя_представления

Как видите, оба метода – использование Enterprise MАnager и команд T-SQL – удобны для использования. Выберите метод, который наиболее отвечает вашим требованиям.