Erreur lors de la création de vue -. [Dbo] [someFunction] n'est pas liée schéma
-
30-09-2019 - |
Question
Je reçois cette erreur lors de la création d'une vue: "Impossible de voir le bind de schéma 'dbo.viewStock'. 'Dbo.GetStockCurrentQuantityByProduct' est pas lié schéma."
CONTEXTE: Ce que je veux vraiment réaliser est d'améliorer la vitesse d'une requête qui extrait produit Id / stock actuel. Le stock actuel est calculé par une fonction qui compte les unités / unités pour un produit spécifique ( « dbo.GetStockCurrentQuantityByProduct »). J'explore une solution possible - la création d'une vue indexée pour tenir le produit et les stocks actuels Ids, donc je peux sélectionner directement à partir pour une exécution plus rapide requête:
CREATE VIEW [dbo].[viewStock] with schemabinding
as
SELECT P.ProductId,
dbo.GetStockCurrentQuantityByProduct(P.ProductId) AS Quantity
FROM dbo.Product
Quand j'exécute, je reçois l'erreur:
Cannot schema bind view 'dbo.viewStock'.
'dbo.GetStockCurrentQuantityByProduct' is not schema bound.
La solution
Voir l'option SCHEMABINDING de CREATE FUNCTION ou FONCTION ALTER