0
如果一個存儲過程從表中檢索大約100條記錄,那麼每個按鈕單擊時如何返回10條記錄。我不想每次都返回所有100條記錄。我需要將它們分開。如何從大量記錄中的存儲過程返回有限的一組記錄?
如果一個存儲過程從表中檢索大約100條記錄,那麼每個按鈕單擊時如何返回10條記錄。我不想每次都返回所有100條記錄。我需要將它們分開。如何從大量記錄中的存儲過程返回有限的一組記錄?
您可以使用類似:
set @p_start_row = @p_page_no*@p_page_size
set @p_end_row= @p_page_no*@p_page_size + @p_page_size
Select * From (Select *, RowNum() Over(Order by Col1, ...) as rowNum From MyTable) A Where A.rowNum between @p_start_row and @p_end_row
什麼數據庫系統是什麼?對於SQL Server,「TOP」關鍵字可以用來限制返回的數據量。對於MySQL LIMIT和Oracle,有ROWNUM。 http://www.w3schools.com/sql/sql_top.asp – SchmitzIT 2014-10-06 08:27:32
微軟SQL服務器2008 – Speedy 2014-10-06 08:28:35
試試這個SO問題:http://stackoverflow.com/questions/2244322/how-to-do-pagination-in-sql-服務器2008 – SchmitzIT 2014-10-06 08:29:37