国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

分享一個通用的分頁SQL

2024-07-21 02:49:57
字體:
來源:轉載
供稿:網友
分享一個通用的分頁SQL

又很久沒寫博客,今天記錄一個SQLserver通用分頁存儲過程(適用于SqlServer2000及以上版本)

1.支持連表

2.支持條件查詢

USE [MYDB] GO

/****** Object: StoredPRocedure [dbo].[SP_CommonPage]

SET QUOTED_IDENTIFIER ON GO

------------------------------------ --用途:分頁存儲過程(對有主鍵的表效率極高) --說明: ------------------------------------

CREATE PROCEDURE [dbo].[SP_CommonPage]

@tblName varchar(255), -- 表名

@fldName varchar(255), -- 主鍵字段名

@PageSize int = 10, -- 頁尺寸

@PageIndex int = 1, -- 頁碼

@IsReCount bit = 0, -- 返回記錄總數, 非 0 值則返回

@OrderType bit = 0, -- 設置排序類型, 非 0 值則降序

@strWhere varchar(1000) = '' -- 查詢條件 (注意: 不要加 where)

AS

declare @strSQL varchar(6000) -- 主語句

declare @strTmp varchar(100) -- 臨時變量(查詢條件過長時可能會出錯,可修改100為1000)

declare @strOrder varchar(400) -- 排序類型

if @OrderType != 0

begin

set @strTmp = '<(select min'

set @strOrder = ' order by [' + @fldName +'] desc'

end

else

begin

set @strTmp = '>(select max'

set @strOrder = ' order by [' + @fldName +'] asc'

end

set @strSQL = 'select top ' + str(@PageSize) + ' * from [' + @tblName + '] where [' + @fldName + ']' + @strTmp + '([' + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' + @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)' + @strOrder

if @strWhere != ''

set @strSQL = 'select top ' + str(@PageSize) + ' * from [' + @tblName + '] where [' + @fldName + ']' + @strTmp + '([' + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' + @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder

if @PageIndex = 1

begin

set @strTmp =''

if @strWhere != ''

set @strTmp = ' where ' + @strWhere

set @strSQL = 'select top ' + str(@PageSize) + ' * from [' + @tblName + ']' + @strTmp + ' ' + @strOrder

end

if @IsReCount != 0

set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWhere

exec (@strSQL)

GO


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛阳市| 五峰| 滁州市| 马山县| 博罗县| 鹿泉市| 湘潭市| 永康市| 板桥市| 仙游县| 南安市| 绥江县| 英山县| 晋江市| 沾化县| 正宁县| 武陟县| 贞丰县| 宜丰县| 洛阳市| 德庆县| 石楼县| 东乌珠穆沁旗| 乐平市| 富蕴县| 双峰县| 湖州市| 防城港市| 新绛县| 安阳县| 城口县| 五家渠市| 东丽区| 正蓝旗| 太仓市| 卢龙县| 永泰县| 湖南省| 阳新县| 大厂| 沛县|