diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java index c95ab933bc1..592068785e1 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java @@ -813,11 +813,11 @@ public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter prin return; } - // OFFSET + FETCH NEXT requires ORDER BY, so add an ordering if there are none - // this SQL will satisfy the query parser without actually changing the ordering of the rows + // OFFSET + FETCH NEXT requires ORDER BY List orderBy = statement.getOrderByExpressions(); if (orderBy.isEmpty()) { - orderBy.add(statement.getBuilder().literal("ROW_NUMBER() OVER (ORDER BY (SELECT null))")); + super.printSQLSelectStatement(call, printer, statement); + return; } // decide exact syntax to use, depending on whether a limit is specified (could just have an offset)