4108: Fensterfunktionen sind nur in der SELECT- oder ORDER BY-Klausel zulässig.

By Frank Kalis

Posted on Dez 9, 2010 von in 4000-4999

Fehlermeldung:
Meldung 4108, Ebene 15, Status 1, Zeile 1
Fensterfunktionen sind nur in der SELECT- oder ORDER BY-Klausel zulässig.

Ebene:
15.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine Fensterfunktion ausserhalb einer SELECT oder ORDER BY Klausel 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. Fensterfunktionen sind nur in SELECT und/oder ORDER BY Klauseln zulässig.

Versionen:
Diese Fehlermeldung wurde mit SQL Server 2005 eingeführt.

Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
 DROP TABLE #t
GO
CREATE TABLE #t
(
 id INT
)
INSERT INTO #t SELECT 1
GO
DELETE #t
  FROM #t
 WHERE ROW_NUMBER() OVER(ORDER BY ID) = 1

Anmerkungen:
Im obigen Beispiel wird versucht, die Fensterfunktion ROW_NUMBER in einem DELETE Statement zu verwenden. Dies is nicht zulässig und löst den Fehler aus.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter 4000-4999.

Noch kein Feedback


Formular wird geladen...