支援:多表連線查詢、group by分組查詢等。(多表連線查詢時請指定字段,不要用select *)
返回為一結果集,有乙個輸出引數為記錄總數,配合
aspnetpager控制項使用絕配。
create
procedure
web_pager (
@rowstotal
intoutput,
--輸出記錄總數
@tablename
varchar
(800
),
--表名
@fieldname
varchar
(800
),
--查詢字段
@keyname
varchar
(200
),
--索引字段
@pagesize
int,
--每頁記錄數
@pagenow
int,
--當前頁
@stringorder
varchar
(200
),
--排序條件
@stringwhere
varchar
(800
)
--where條件)as
begin
declare
@beginrow
intdeclare
@endrow
intdeclare
@templimit
varchar
(200
)declare
@tempcount
nvarchar
(1000
)declare
@tempmain
varchar
(1000
)set@beginrow=(
@pagenow-1
) *@pagesize+1
set@endrow
=@pagenow
*@pagesize
set@templimit='
rows between '+
cast
(@beginrow
asvarchar) +
'and '+
cast
(@endrow
asvarchar
)--輸出引數為總記錄數
set@tempcount='
select @rowstotal = count(*) from (select '+
@keyname+'
from '+
@tablename+'
where '+
@stringwhere+'
) as my_temp
'execute
sp_executesql
@tempcount,n'
@rowstotal int output',
@rowstotal
output
--主查詢返回結果集
set@tempmain='
select * from (select row_number() over ('+
@stringorder+'
) as rows ,'+
@fieldname+'
from '+
@tablename+'
where '+
@stringwhere+'
) as main_temp where '+
@templimit
execute
(@tempmain
)end
SqlServer2005分頁方案
插入測試資料200w條,可能會很久 create table student id int primary keyidentity 1 1 name nvarchar 50 age int insert student name,age values name 18 while select cou...
sqlserver2005 分頁 SQL語句
1.分頁方案一 利用not in和select top分頁 語句形式 select top 10 from testtable where id not in select top20id from testtable order by id order by id select top 頁大小 f...
SQL Server 2005分頁儲存過程
剛開始學習分頁儲存過程的時候看到有很多長篇大論的 看起來很亂,現在有乙個很好的分頁儲存過程,分享一下 alter procedure dbo pr page helper top int null,返回前n位記錄 1 全部 ascordesc bit null,1 desc 0 asc column...