4112: Für die "%1!"-Rangfolgefunktion ist eine ORDER BY-Klausel erforderlich.

By Frank Kalis

Posted on Jan 23, 2011 von in 4000-4999

Fehlermeldung:
Meldung 4112, Ebene 15, Status 1, Zeile 1
Für die "%1!"-Rangfolgefunktion ist eine ORDER BY-Klausel erforderlich.

Ebene:
15.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine Fensterfunktion ohne ORDER BY Klausel zu verwenden, jedoch diese obligatorisch für die Fensterfunktion ist.

Auswirkungen:
Das SQL Statement kann nicht geparst werden. Die weitere Ausführung wird abgebrochen.

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. Es muss eine ORDER BY Klausel eingefügt werden.

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 10
GO
SELECT ROW_NUMBER() OVER() AS rid, id
  FROM #t
 GROUP BY id

Anmerkungen:
Im obigen Beispiel wird versucht die ROW_NUMBER() Fensterfunktion ohne ORDER BY Klausel im OVER() Teil zu verwenden. Dies löst den Fehler aus.

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

Noch kein Feedback


Formular wird geladen...