web-dev-qa-db-fra.com

Impossible de créer l'index sur la vue car la vue n'est pas une erreur de schéma lié 1939

La troisième partie de cette affectation sur laquelle je travaille indique: "Créer et indexer la vue Northwind existante appelée" Dbo.orders QRY "basée sur les colonnes orderid et employéID."

On s'attend à ce que je reçois une erreur; Cependant, mon instructeur nous a seulement dit à Google. Je l'ai fait, mais la liaison de régime n'est ni même dans la leçon de cette semaine ni d'autres, et les choses que j'ai trouvées sont trop profondes pour que je puisse comprendre.

Est-ce une question de moi de ne pas vérifier une boîte ou de changer un réglage quelque part?

15
Sam

On dirait que ceci décrit une image Vue indexée, vous pouvez les lire sur le site de Microsoft ici . Microsoft a activé cette fonctionnalité à partir de SQL 2005.

Dans le texte de la définition de vue, vous auriez besoin d'ajouter les mots WITH SCHEMABINDING juste après le CREATE VIEW déclaration, par exemple:

CREATE VIEW dbo.MyView
WITH SCHEMABINDING

AS

SELECT a, b, c
FROM dbo.MyTable

Pour ajouter une indexation, vous ajouteriez une déclaration à la définition de vue similaire à celle-ci:

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

GO
24
Darth Continent

Je cherchais exactement ce qui a été posté par Dark Continent. Cela a fonctionné comme un charme, cependant, c'était une situation totalement différente. Je crois que la réponse ci-dessus devrait au moins être créditée en tant que résolution et, sinon, un suivi serait formidable.

1
Anthony Mason