5308: Ganzzahlige Indizes als Ausdrücke in ORDER BY-Klauseln werden von Fensterfunktionen
Fehlermeldung:
Meldung 5308, Ebene 16, Status 1, Zeile 1
Ganzzahlige Indizes als Ausdrücke in ORDER BY-Klauseln werden von Fensterfunktionen nicht unterstützt.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht einen ganzzahligen Ausdruck in der ORDER BY Klausel einer Fensterfunktion 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. Der ganzzahlige Ausdruck muss aus der ORDER BY Klausel der Fensterfunktion entfernt 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 2
UNION ALL SELECT 3
GO
SELECT id, ROW_NUMBER() OVER(ORDER BY 1)
FROM #t
Anmerkungen:
Im obigen Beispiel wird versucht, den ganzzahligen Ausdruck 1 in der Fensterfunktion ROW_NUMBER zu verwenden. Dies löst den Fehler aus.