分页存储过程
来源:互联网 发布:ubuntu chmod 777 编辑:程序博客网 时间:2024/06/05 14:52
CREATE PROCEDURE [dbo].[proc_SplitPageSearch]
@SqlStr NVARCHAR(MAX),
@OrderStr NVARCHAR(MAX),
@PageIndex INT,
@PageSize INT,
@RecordCount INT OUTPUT
AS
BEGIN
IF @PageIndex IS NULL SET @PageIndex=1
IF @PageSize IS NULL SET @PageSize=20
DECLARE @Sql NVARCHAR(MAX)
SET @Sql='SELECT @RecordCount=COUNT(*) FROM ('+@SqlStr+') ps1'
EXEC sp_executesql @Sql,N'@RecordCount INT OUTPUT',@RecordCount OUTPUT
SET @Sql='SELECT * FROM (
SELECT TOP ' + CONVERT(VARCHAR,@PageIndex*@PageSize) + ' ROW_NUMBER() OVER (ORDER BY '+@OrderStr+') AS ROWID,ps1.*
FROM (' + @SqlStr + ') ps1
) ps2 WHERE ps2.ROWID>'+CONVERT(VARCHAR,(@PageIndex-1)*@PageSize)
EXEC(@Sql)
END
@SqlStr NVARCHAR(MAX),
@OrderStr NVARCHAR(MAX),
@PageIndex INT,
@PageSize INT,
@RecordCount INT OUTPUT
AS
BEGIN
IF @PageIndex IS NULL SET @PageIndex=1
IF @PageSize IS NULL SET @PageSize=20
DECLARE @Sql NVARCHAR(MAX)
SET @Sql='SELECT @RecordCount=COUNT(*) FROM ('+@SqlStr+') ps1'
EXEC sp_executesql @Sql,N'@RecordCount INT OUTPUT',@RecordCount OUTPUT
SET @Sql='SELECT * FROM (
SELECT TOP ' + CONVERT(VARCHAR,@PageIndex*@PageSize) + ' ROW_NUMBER() OVER (ORDER BY '+@OrderStr+') AS ROWID,ps1.*
FROM (' + @SqlStr + ') ps1
) ps2 WHERE ps2.ROWID>'+CONVERT(VARCHAR,(@PageIndex-1)*@PageSize)
EXEC(@Sql)
END
阅读全文
0 0
- orcale分页 存储过程分页
- 一个分页存储过程
- 一个分页存储过程
- 存储过程分页代码
- 分页存储过程
- 数据库分页存储过程
- 分页存储过程
- 一个分页存储过程
- 分页 SQLServer存储过程
- 分页 SQLServer存储过程
- 存储过程分页
- SqlServer分页存储过程
- 分页的存储过程
- 通用分页存储过程
- sql 存储过程分页
- 分页存储过程
- 分页存储过程2
- 分页的存储过程
- node的mime模块
- 进程间通信之——信号量
- Codeforces 875D High Cry [枚举+二进制]
- 注意!这13件事会毁掉你的信用,千万别做!
- Hadoop笔记详解
- 分页存储过程
- Java:数值统计
- Linux下进行硬盘挂载、分区、删除分区,格式化,卸载方法
- git 共享仓库-多人协作开发
- jsoi2007建筑抢修
- Android 数据传递出现的android.os.TransactionTooLargeException问题
- 数据中心管理员监控一切和创造性资源
- 在html中,一些零散的关于标签的知识
- Maven + Spring MVC 导入 jtsl 的方法