zoukankan      html  css  js  c++  java
  • SQL 存储过程分页

    CREATE PROC p_Team_GetTemaList
        @pageindex INT ,
        @pagesize INT ,
        @keywords VARCHAR(200) , --模糊查询 名称 标签 
        @citycode VARCHAR(100) ,
        @verifyStatus  INT =0,-- -1所有的 0 没有通过 1 审核通过
        @orderby INT,
        @TotalCount INT OUTPUT
    AS
        BEGIN
            DECLARE @PageLowerBound INT
            DECLARE @PageUpperBound INT 
            DECLARE @Where  VARCHAR(300)=''
            DECLARE @Order  VARCHAR(300)=''
            DECLARE @exsql NVARCHAR(1000)=''
            SET @PageLowerBound = @PageSize * ( @PageIndex - 1 )
            SET @PageUpperBound = @PageSize - 1 + @PageLowerBound
            --条件
            SET @Where=' WHERE 1=1 ' 
    			IF @verifyStatus>=0 --条件 数字
    				BEGIN
    					SET @Where =@Where+' and verifyStatus = '+CAST(@verifyStatus AS VARCHAR(200))
    				END
                            IF LEN(@citycode)>0
    			       BEGIN 
    				 SET @Where =@Where+' AND StartCityCode = '''+CAST(@citycode AS VARCHAR(50))+''''
    			       END
    			IF LEN(@citycode)>0 --条件字符串
    				BEGIN
    					SET @Where =@Where+' and City  LIKE ''%'+CAST(@citycode AS VARCHAR(200))+'%'''
    				END
    			IF LEN(@keywords)>0 --模糊查询
    				BEGIN
    					SET @Where =@Where+' and ('
    					SET @Where =@Where+'  TeamName  LIKE ''%'+CAST(@keywords AS VARCHAR(200))+'%''' 
    					SET @Where =@Where+' or Slogan  LIKE ''%'+CAST(@keywords AS VARCHAR(200))+'%'''
    					SET @Where =@Where+' ) '
    				END
    			--排序
    			IF  @orderby =0
    				BEGIN
    					SET @Order= N' ORDER BY IsShowIndex DESC, CreateTime DESC '
    				END
    			ELSE 
    				BEGIN
    					SET @Order= N' ORDER BY IsShowIndex ASC, CreateTime ASC '
    				END         --创建临时表
    		 CREATE TABLE #data  (   RowNo int IDENTITY (0, 1) NOT NULL,   KeyID	int not null )
    			SET @exsql=N'INSERT INTO #data(KeyID) SELECT  TeamId FROM t_Team_TeamList ' +@Where +@Order
    			--SELECT @exsql 
    			EXEC sp_executesql  @exsql
    			
    			SET @TotalCount = (SELECT COUNT(1) FROM #data)
    		 
    			SELECT * FROM dbo.t_Team_TeamList t1 JOIN  #data e  ON t1.TeamId=e.KeyID 
    			WHERE e.RowNo >= @PageLowerBound AND e.RowNo <= @PageUpperBound
    			ORDER BY e.RowNo ASC
    		
        END
    --第二种简单点的分业
    
    CREATE  PROC p_PC_GetLeaveCommentsList
        @pageindex INT ,
        @pagesize INT ,
        @TotalCount INT OUTPUT
    AS
        BEGIN
            SELECT @TotalCount=COUNT(0) FROM dbo.t_Comm_LeaveComments 
            ;WITH cte AS(
    				SELECT RowNumber = ROW_NUMBER() OVER(ORDER BY CreateTS DESC ),* 
    			   FROM  dbo.t_Comm_LeaveComments
            )
            SELECT * FROM cte
             WHERE RowNumber BETWEEN (@pageindex - 1) * @pageSize + 1 AND @pageindex * @pageSize
    	ORDER BY RowNumber
        END
        
      
     
    

      

      

  • 相关阅读:
    腾讯QQ家族任意支付QB+修改资料csrf
    腾讯QQ积分CSRF导致积分任意挥霍(我的积分为什么少了)
    腾讯大湘网某处csrf(city.hn.qq.com)可投诉刷留言
    路由器下再连接一台路由器
    PHP安全之临时文件的安全
    通过NAT转发实现私网对外发布信息
    asp adodb.stream读取文件和写文件
    解决:ADODB.Stream 错误 '800a0bbc' 写入文件失败
    笑话一则
    spring-boot-2.0.3源码篇
  • 原文地址:https://www.cnblogs.com/LoveTX/p/4645170.html
Copyright © 2011-2022 走看看