Платформа SQL Server підтримує кілька розширень стандарту ANSI, але в ній не використовуються прості об'єктні уявлення і об'єктні уявлення-нащадки.
CREATE VIEW імя_представленія [(стовпець [...])]
AS інструкція_select [WITH CHECK OPTION]
Реалізація інструкції ALTER VIEW в SQL Server дозволяє вносити зміни в існуюче уявлення, не зачіпаючи прав доступу або залежних від уявлення об'єктів.
ALTER VIEW імя_представленія [(стовпець [...])]
AS інструкція_select [WITH CHECK OPTION]
Подання зв'язується з конкретною схемою, і це означає, що до всіх об'єктів уявлення потрібно звертатися по їх повного імені (по імені власника і імені об'єкта). Подання та будь-які таблиці, на які посилається пропозицію SELECT уявлення, повинні мати повністю кваліфіковані імена, наприклад pubs.scott.employee. В уявленнях, створених з використанням пропозиції SCHEMABUILDING (і в таблицях, на які посилається цей спектакль), перед видаленням або зміною потрібно спочатку видалити зв'язок зі схемою (за допомогою інструкції ALTER VIEW).
Вказується, що SQL Server повертає метадані уявлення (а не метадані базової таблиці) при запитах від таких API, як DBLIB і OLEDB. В уявленнях, створених або змінених з використанням умови VIEW METADATA, можна оновлювати стовпці за допомогою тригерів INSTEAD OF UPDATE і INSTEAD OF INSERT.
Ця пропозиція змушує уявлення приймати тільки такі вставляються або оновлювані дані, які може повернути інструкція SELECT уявлення.
Пропозиція SELECT уявлення SQL Server не може:
- містити пропозицій COMPUTE, COMPUTE BY, INTO і ORDER BY (пропозиція ORDER В Y дозволяється, якщо використовується пропозицію SELECT ТОР);
- посилатися на тимчасову таблицю;
- посилатися на табличну змінну;
- посилатися більш ніж на 1024 стовпця, в це число входять і стовпці, на які посилаються підзапити.
Нижче ми визначаємо уявлення SQL server з пропозиціями ENCRYPTION і CHECK OPTION.
Платформа SQL Server дозволяє використовувати в поданні кілька інструкцій SELECT, якщо вони пов'язані за допомогою пропозицій UNION і UNION ALL. SQL Server також дозволяє використовувати в інструкції SELECT уявлення функції і підказки (hints). Подання SQL Server є оновлюваних, якщо всі перераховані нижче пункти вірні.
- Інструкція SELECT не містить агрегатних функцій.
- Інструкція SELECT не містить конструкцій TOP, GROP BY, DISTINCT або UNION.
- Інструкція SELECT не містить похідних стовпців. Пропозиція FROM інструкції SELECT посилається як мінімум на одну таблицю.
Платформа SQL Server дозволяє створювати індекси за поданнями (див, інструкцію CREATE INDEX). Створивши унікальний кластерізованний індекс за поданням, ви змушуєте SQL Server зберегти фізичну копію подання в базі даних. Зміни, що вносяться до базову таблицю, автоматично заносяться в індексовані уявлення. Індексовані уявлення займають місце на диску, але дають приріст продуктивності. Індексовані уявлення повинні створюватися з використанням пропозиції SCHEMABUILDING.
Система SQL Server також дозволяє створювати локальні секціоновані уявлення і розподілені секціоновані уявлення, Локальне Секціонірованние уявлення - це Секціонірованние уявлення, де всі уявлення знаходяться на одному сервері SQL. Розподілене Секціонірованние уявлення - це Секціонірованние уявлення, в якому одне або кілька подань розташовуються на віддалених серверах.
У секціонованих уявленнях має бути дуже чітко позначено походження даних з різних джерел, і кожен окремий джерело даних повинен з'єднуватися з наступним інструкцією UNION ALL. Більш того, всі стовпці секціонованих уявлень повинні бути виділені і ідентичні. (Ідея полягає в тому, щоб логічно розділяти дані за допомогою клієнтської програми. 'Після цього SQL Server знову збирає дані за допомогою Секціонірованние уявлення.) У наступному прикладі показано, як дані надходять в уявлення з трьох різних серверів SQL Server.
При зміні існуючого уявлення SQL Server включає і утримує за поданням блокування схеми до тих нір, поки зміна не буде завершено. Інструкція ALTER К / ЯМ7 видаляє всі індекси, які можуть бути пов'язані з поданням. Їх потрібно буде заново створювати вручну за допомогою команди CREATE INDEX.
Додаткова інформація по темі
Способи та методи використання інструкції CREATE / ALTER TRIGGER в базах даних на платформі SQL Server