我需要在網頁上顯示網格。數據將通過存儲過程從SQL Server 2008中獲得。由於sproc返回了數千條記錄,我決定去尋找一個可以正常工作的分頁選項。在存儲過程中,我做這樣的事情:SQL分頁排序
declare @RowIdMin int=10
declare @RowIdMax int=25
select *
from (select Col1, Col2, ROW_NUMBER() over (order by Col1 desc) as RowId
from MyTable) dt
where RowId BETWEEN @RowIdMin AND @RowIdMax
這隻要用戶是幸福的度日Col1中排序的數據工作正常。如果我事先不知道該記錄集必須按照哪一列進行排序,我該如何重寫?這不起作用:
declare @RowIdMin int=10
declare @RowIdMax int=25
聲明@ColSort VARCHAR(100)= 'MyColumn'
select *
from (select Col1, Col2, ROW_NUMBER() over (order by <b>@ColSort</b> desc) as RowId
from MyTable) dt
where RowId BETWEEN @RowIdMin AND @RowIdMax
我將爲SQL注入200個SQL! – 2009-05-01 09:23:35