惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
B
Blog
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 聂微东
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
U
Unit 42
J
Java Code Geeks
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC

博客园 - zqstc

The following module was built either with optimizations enabled or witherout debug information QQQQQQQ Java学习路线图 SQL 链接服务器及权限限制 apache与tomcat整合 eclipse学习 Eclipse3.6版本汉化 Eclipse 的版本历史 MOSS2007下载 MOSS安装全过程 SQL简繁体转换 SQL2000 递归问题 Tomcat+JSP学习一 JavaScript---radio组 Office2003关联的word文档图标无法显示解决方案 用于主题检测的临时日志(f328f8e5-34df-4189-bccc-47d1025dc7dd - 3bfe001a-32de-4114-a6b4-4005b770f6d7) wa gaga Requested registry access is not allowed(不允许所请求的注册表访问权) SQL学习 continue~~
sql 2005 分页
zqstc · 2011-06-12 · via 博客园 - zqstc

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


ALTER PROCEDURE [dbo].[sp_Paging_RowNumber]
 @SqlStmt nvarchar(max),
 @PageIndex int = 0,
 @PageSize int = 10,
 @SqlCountStmt nvarchar(max)
AS
BEGIN

 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

 /*Default Page Number*/
 IF @PageIndex < 0 AND @PageSize < 0
 BEGIN
 
    /*Execute dynamic query*/ 
 EXEC( '
   WITH TempTCE AS (' + @SqlStmt + ')

   SELECT *
   FROM TempTCE
    '
 )

 END

 ELSE
 BEGIN

 IF @PageIndex < 0
  SET @PageIndex = 0

    DECLARE @strStartRowNumber varchar(50)
 DECLARE @strEndRowNumber varchar(50)
 SET @strStartRowNumber = CAST( ((@PageIndex)*@PageSize+1) AS varchar(50))
 SET @strEndRowNumber = CAST( (@PageIndex + 1)* @PageSize AS varchar(50))

    /*Execute dynamic query*/ 
 EXEC( '
   WITH TempTCE AS (' + @SqlStmt + ')

   SELECT *
   FROM TempTCE
   WHERE RowNumber BETWEEN ' + @strStartRowNumber + ' AND '+ @strEndRowNumber + '
    '
 )
 
 END

 EXEC( @SqlCountStmt )

END