10143 – Impossibile creare %1! sulla vista “%2!” perché contiene una funzione finestra di aggregazione o di rango. Rimuovere la funzione dalla definizione della vista oppure non indicizzare la vista.

0
(0)

Messaggio

Codice: 10143

Messaggio in italiano: Impossibile creare %1! sulla vista “%2!” perché contiene una funzione finestra di aggregazione o di rango. Rimuovere la funzione dalla definizione della vista oppure non indicizzare la vista.

Messaggio in inglese: Cannot create %S_MSG on view “%.*ls” because it contains a ranking or aggregate window function. Remove the function from the view definition or, alternatively, do not index the view.

Spiegazione

Quando si crea un indice su una vista non è possibile usare le seguenti funzioni finestra, come CUME_DIST, DENSE_RANK, FIRST_VALUE, LAG, LAST_VALUE, LEAD, NTILE, PERCENT_RANK, RANK, ROW_NUMBER.

Le funzioni finestra non possono essere usate nemmeno in campi che non sono indicizzati.

Un elenco di tutti i vincoli nella creazione di indici sulle viste si può trovare qui:
https://docs.microsoft.com/it-it/sql/relational-databases/views/create-indexed-views

Causa

È stata usata una funzione finestra CUME_DIST, DENSE_RANK, FIRST_VALUE, LAG, LAST_VALUE, LEAD, NTILE, PERCENT_RANK, RANK, ROW_NUMBER all’interno di una vista e si sta cercando di creare un indice sulla vista.

Esempio:

CREATE VIEW V_TEST
AS
SELECT f1, f2, ROW_NUMBER() OVER (PARTITION BY f1 ORDER BY f2)
FROM t1

e poi:

CREATE UNIQUE CLUSTERED INDEX [IDX_1] ON [dbo].[V_TEST] (f1 ASC)

Parametri

%1! rappresenta l’indice che si sta tentando di creare

%2! rappresenta la vista su cui si sta tentando di creare l’indice

Soluzione

Non utilizzare le funzioni di aggregazione specificate oppure non indicizzare la vista.

Hai trovato utile questo contenuto?

Valutazione: 0 / 5. Voti: 0

Vota per primo questo contenuto

Ci dispiace che tu abbia trovato inutile o sbagliato questo contenuto

Lasciaci un messaggio

Come possiamo migliorare?

Un commento su “10143 – Impossibile creare %1! sulla vista “%2!” perché contiene una funzione finestra di aggregazione o di rango. Rimuovere la funzione dalla definizione della vista oppure non indicizzare la vista.”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.