157: In der SET-Liste einer UPDATE-Anweisung darf kein Aggregat auftreten.
Fehlermeldung:
Meldung 157, Ebene 15, Status 1, Zeile 2
In der SET-Liste einer UPDATE-Anweisung darf kein Aggregat auftreten.
Ebene:
15.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine Aggregatsfunktion in der SET Liste eines UPDATE Statements zu verwenden.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 15 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. Da Aggregate in der SET Liste nicht zulässig sein, muss man das Statement evtl. in mehrere splitten.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
CREATE TABLE #t
(
c1 INT
);
GO
INSERT INTO #t SELECT 1;
UPDATE #t SET c1 = SUM(c1);
Anmerkungen:
Im obigen Beispiel wird versucht, die SUM() Aggregatsfunktion in der SET Liste eines UPDATE Statements zu verwenden. Dies löst den Fehler aus.