SqlServer 存储过程分页

一:存储过程实现分页

  例子:查询楼盘列表

 ALTER procedure [dbo].[BM_GetBlockList]
@pageIndex int,-------页码数
@PageSize int,---------展示的条数
@cityId int
as
declare @sql nvarchar(max) ,
        @sql2 nvarchar(max)

set @sql=‘  from AgentRecmd_Block ab
            LEFT JOIN BASE_BLOCK block on ab.BlockID=block.ROW_ID
            LEFT JOIN BASE_AREA AREA ON BLOCK.AREA_ID=AREA.ROW_ID
            LEFT JOIN BASE_DISTRICT DIS ON AREA.REGION_ID=DIS.ROW_ID
            LEFT JOIN BASE_CITY CITY ON DIS.CITY_ID=CITY.ROW_ID
            where block.Gcflag=0 and block.IS_APPROVE=0  and ab.GCFLAG=0
            and CITY.ROW_ID=‘+convert(nvarchar(200),@cityId)+‘ and block.IsAPP=1 ‘     

set @sql2=‘select top ‘+ convert(nvarchar(200),@PageSize)+‘ block.ROW_ID, block.BLOCK_NAME,DIS.DISTRICT_NAME,block.AVG_PRICE_WEB,block.HOT_VIEW_WEB,block.HOUSING_PROPERY,ab.EndTime ‘+
 @sql +‘ and ab.ROW_ID not in (select top ‘+convert(nvarchar(200),(@pageIndex-1)*@PageSize)+‘ ab.ROW_ID ‘[email protected]+‘ order by ab.EndTime )‘
 EXEC(@sql2);

SqlServer 存储过程分页

时间: 2024-10-11 10:26:08

SqlServer 存储过程分页的相关文章

sqlserver 存储过程分页管理

-- =============================================-- Author:  <Author:刘畅>-- Create date: <Create Date:2014-07-31>-- Description: <Description:sqlserver 2008 R2 数据库分页存储过程> -- =============================================CREATE PROCEDURE pr_

MS SQLSERVER通用存储过程分页

最近在面试的时候,遇到个奇葩的秃顶老头面试官. 问:写过存储过程分页吗? 答:没写过,但是我知道分页存储的原理,我自己也写过,只是在工作中没写过. 问:那你这么多年工作中就没写过吗? 答:的确没写过,因为项目数据量都特别小. 然后,这奇葩就起身就要走人了,连个招呼都没有.想我面试了这么多公司,这种奇葩面试官,还是头回见到,一点职业素质,礼貌都木有.气死我了! 明天要去入职新公司了,今天闲来无事,试着写了写这个存储过程分页.只在SQLSERVER2008上测试过,不过我想,2000以上版本应该都会

asp.net利用存储过程分页代码

-最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount bit = 0, -- 返回记录总数, 非 0 值则

【原创】10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程)

有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: 技术:Mvc4+Dapper+Dapper扩展+Sqlserver 目前主要实现了两种分页:一种采用 PagedList.Mvc 实现的分页 两外一种采用 ajax异步加载分页 采用比较常用的jquery.pagination 分页插件. 功能相对比较简单仅供学习交流. 通用存储过程 1 USE [MvcProcPageDB] 2 GO 3 4 /****** Object:

EntityFramework 4使用存储过程分页

1 CREATE PROC usp_OrgPage_SQL 2 @pageIndex INT, 3 @pageSize INT, 4 @totalCount INT OUTPUT 5 AS 6 BEGIN 7 SET @totalCount = (SELECT COUNT(*) FROM dbo.Organization) 8 SELECT * FROM 9 ( 10 SELECT *,ROW_NUMBER() OVER(ORDER BY OrganizationID DESC)AS row F

sql 高性能存储过程分页

USE [Lyjjr] GO /****** Object: StoredProcedure [dbo].[P_ViewPage] Script Date: 05/29/2015 17:18:56 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROC [dbo].[P_ViewPage] @TableName VARCHAR(200), --表名 @FieldList VARCHAR(2000), --显示列名,如

SqlServer 常用分页方法总结

SqlServer 常用分页方法总结 下面示例总结了,SqlServer数据库 常用分页方法,仅供学习参考 A. 使用 RowNumber 和 Between And 组合分页: /********** 使用 RowNumber 和 Between And 组合分页 **********/ CREATE PROC proc_FuzzySearchAndPaging @pageIndex int, --页索引 @pageSize int, --页大小 @SearchKey Nvarchar(10)

C#存储过程分页

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE  PROCEDURE [dbo].[UP_GetRecordByPage] @tblName      varchar(255),       -- 表名 @fldName      varchar(255),       -- 主键字段名    @OrderfldName   varchar(255)='',   -- 排序字段 @PageSize     int = 10,    

SqlServer存储过程(增删改查)

* IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( @NewsTitle varchar(200), @NewsContent varchar(4000), @Creator varchar(50), @LastNewsId int output, @DepartId int ) AS BEGIN SET NOCOUNT ON; insert int