Невозможно создать индекс на виду, потому что представление не связано с ошибкой схемы 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
Я искал то, что было опубликовано Дартом Континентом. Это работало как прелесть, однако это была совершенно другая ситуация. Я считаю, что ответ выше должен быть, по крайней мере, зачислен как резолюция, и если бы не последующее наблюдение было бы здорово.