分页的存储过程

USE [web1]
GO
/****** Object: StoredProcedure [dbo].[GetPagelist] Script Date: 08/22/2014 15:02:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Alter PROCEDURE [dbo].[GetPagelist]
@TableName varchar(20),
@IdName varchar(10),
@pageSize int,
@pageIndex int,
@rowsCount int output
AS
BEGIN
SET NOCOUNT ON;

--获取总行数
declare @sql1 nvarchar(200)
set @sql1=N‘select @count=count(*) from ‘[email protected] --定义一个有参数的sql语句
exec sp_executesq --系统存储过程,用于执行一个字符串作为sql
@sql1,
N‘@count int out‘,--为sql语句定义参数
@rowsCount out --执行sql语句时提供参数

--获取当前页的数据
declare @sql2 nvarchar(200)
set @sql2=‘select *,ROW_NUMBER() over(order by ‘[email protected]+‘ desc) as id1
from ‘[email protected]

set @sql2=‘select top ‘+ltrim(str(@pageSize))+‘ * from (‘+
@sql2+‘) as t1 where id1>‘+ltrim(str((@pageIndex-1)*@pageSize))

 

exec(@sql2)END

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些