Невозможно создать индекс на виду, потому что представление не связано с ошибкой схемы 1939

В третьей части этого задания, над которым я работаю, написано: "Создайте и индексируйте существующее представление Northwind под названием" dbo.Orders Qry "на основе столбцов OrderID и EmployeeID.

Ожидается, что я получу ошибку; однако мой инструктор только сообщил нам об этом в Google. Я сделал это, но привязка схемы не была даже на уроке на этой неделе или каких-либо других, и все, что я нашел, слишком глубокое для меня, чтобы понять.

Является ли это проблемой, когда я не проверяю окно или меняю настройки где-нибудь?

Ответ 1

Похоже, что это описание индексированного представления, вы можете прочитать их на веб-сайте Microsoft здесь. Microsoft включила эту возможность, начиная с SQL 2005.

В тексте определения представления вам нужно добавить слова WITH SCHEMABINDING сразу после инструкции CREATE VIEW, например:

CREATE VIEW dbo.MyView
WITH SCHEMABINDING

AS

SELECT a, b, c
FROM dbo.MyTable

Чтобы добавить индексирование, добавьте оператор в определение вида, подобное этому:

-- Create an index on the view.
CREATE UNIQUE CLUSTERED INDEX IDX_MyView_ClusteredIndex
ON dbo.MyView(a, b, c)

GO

Ответ 2

Я искал то, что было опубликовано Дартом Континентом. Это работало как прелесть, однако это была совершенно другая ситуация. Я считаю, что ответ выше должен быть, по крайней мере, зачислен как резолюция, и если бы не последующее наблюдение было бы здорово.