Это мой динамический SQL запрос:Windowed функции не поддерживают константы в качестве предложения ORDER BY выражений в SQL Server TempTable
SET @SQL = 'SELECT * FROM
(SELECT *, ROW_NUMBER() OVER(ORDER BY '+ @sortBy +') AS rowNumber FROM #temp) A
WHERE A.rowNumber BETWEEN ' + CONVERT(varchar(9),
(@startIndex -1) * @PageSize + 1) + ' AND ' + CONVERT(varchar(9),
(((@startIndex -1) * @PageSize + 1) + @PageSize) - 1)+''
print(@SQL)
exec(@SQL)
И это вывод команды PRINT
:
SELECT *
FROM
(SELECT *, ROW_NUMBER() OVER(ORDER BY Typename) AS rowNumber
FROM #temp) A
WHERE A.rowNumber BETWEEN 1 AND 5
где Typename
- значение параметра @sortBy
.
Но я получаю эту ошибку:
Windowed functions do not support constants as ORDER BY clause expressions.
есть [Имя_пользователя] столбец в таблице темпа в это время? –
@Used_By_Already: yes – Athul
Можете ли вы опубликовать структуру '# temp' – ughai