Home > Database > Mysql Tutorial > MSSQL简单分页存储过程

MSSQL简单分页存储过程

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 17:46:44
Original
1055 people have browsed it

 



/**********************
****简易分页存储过程***
****author:knife*****
****data:08-05-07******
*********************
*/

create procedure listpagetext
(
@pagerows int,        --每页行数    
@pageindex int,        --索引
@tab nvarchar(500),    --表名
@keyid nvarchar(50),    --主键
@total nvarchar(200),    --条件
@sort nvarchar(50),    --排序
@kid nvarchar(200),    --列名
@rows int output    --总页数
)
as
begin
set nocount on
declare 
@befrows int,
@sql nvarchar(1000)

set @befrows=@pagerows*(@pageindex-1)
set @sql=''select top ''+cast(@pagerows as nvarchar(50))+'' ''+@kid+'' from ''+@tab+'' 
where 
''+@total+'' and ''+@keyid+'' not in (select top ''+cast(@befrows as nvarchar(50))+''
 
''+@keyid+'' from ''+@tab+'' where ''+@total+'' order by ''+@sort+'' ) order by ''+@sort+''''
EXEC (@sql)
print @sql
-------总行数------
set @sql=N''select @rows=count(*) from ''+@tab+'' where ''+@total+''''
exec sp_executesql @sql,N''@rows int out'',@rows out
end
GO
------------------------------测试------------------------------
declare @aa int
exec listpagetext 每页行数(例:10),页码(例:1),''表名(例:''table1'')'',''主键(例:''TID'')'',''条件(例:''1=1'')'',''排序(例:''TAddDate DESC'')'',''列名(例:''*'')'',@aa output
select @aa ----输出总行数
如有什么问题,可以留言!
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template