10125: Das %1!-Objekt kann für die "%2!"-Sicht nicht erstellt werden, weil das "%3!"-Aggregat
Fehlermeldung:
Meldung 10125, Ebene 16, Status 1, Zeile 2
Das %1!-Objekt kann für die "%2!"-Sicht nicht erstellt werden, weil das "%3!"-Aggregat verwendet wird. Entfernen Sie das Aggregat, indizieren Sie die Sicht nicht, oder verwenden Sie andere Aggregate. Ersetzen Sie z. B. AVG durch SUM und COUNT_BIG, oder COUNT durch COUNT_BIG.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine unzulässige Aggregatsfunktion in einer indizierten Sicht zu verwenden.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Die unzulässige Aggregatsfunktion muss entfernt oder umgeschrieben werden.
Versionen:
Alle Version von SQL Server.
Beispiele:
USE Northwind;
GO
SET NUMERIC_ROUNDABORT OFF;
SET ANSI_PADDING,
ANSI_WARNINGS,
CONCAT_NULL_YIELDS_NULL,
ARITHABORT,
QUOTED_IDENTIFIER,
ANSI_NULLS ON;
GO
IF OBJECT_ID ('dbo.MyOrderView', 'View') > 0
DROP VIEW dbo.MyOrderView;
GO
CREATE VIEW dbo.MyOrderView
WITH SCHEMABINDING
AS
SELECT AVG(UnitPrice*Quantity*(1.00-Discount)) AS Revenue,
OrderDate, ProductID, COUNT_BIG(*) AS MyCount
FROM dbo.[Order Details] AS od
JOIN dbo.Orders AS o
ON od.OrderID = o.OrderID
GROUP BY OrderDate, ProductID;
GO
CREATE UNIQUE CLUSTERED INDEX cix_MyOrderView
ON dbo.MyOrderView (OrderDate, ProductID);
GO
Anmerkungen:
Im obigen Beispiel wird versucht die AVG Aggregatsfunktion in einer indizierten Sicht zu verwenden. Dies löst den Fehler aus.