Errore durante la creazione di vista -. [Dbo] [someFunction] non è lo schema vincolati

StackOverflow https://stackoverflow.com/questions/4143309

  •  30-09-2019
  •  | 
  •  

Domanda

ottengo questo errore durante la creazione di una vista: "Impossibile vista schema bind 'dbo.viewStock'. 'Dbo.GetStockCurrentQuantityByProduct' non è lo schema legato".

BACKGROUND: Quello che in realtà voglio raggiungere è migliorare la velocità di una query che recupera prodotto Id / stock attuale. Lo stock attuale viene calcolato da una funzione che conta le unità / unità fuori per un prodotto specifico ( 'dbo.GetStockCurrentQuantityByProduct'). Sto esplorando una soluzione possibile - la creazione di una vista indicizzata al prodotto hold Ids e le scorte attuali, in modo da poter selezionare direttamente da esso per una più rapida esecuzione di query:

    CREATE VIEW [dbo].[viewStock] with schemabinding
    as 
    SELECT P.ProductId, 
    dbo.GetStockCurrentQuantityByProduct(P.ProductId) AS Quantity 
    FROM dbo.Product 

Quando eseguo questo, ottengo l'errore:

    Cannot schema bind view 'dbo.viewStock'. 
'dbo.GetStockCurrentQuantityByProduct' is not schema bound.
È stato utile?

Soluzione

Si veda l'opzione SCHEMABINDING di CREATE FUNCTION o alterare la funzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top