问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请帮忙举个简单易懂的分页存储过程的实例。谢谢了!

发布网友 发布时间:2022-10-06 20:58

我来回答

2个回答

热心网友 时间:2023-10-23 17:02

CREATE PROCEDURE sp_GetRecordByPage
@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) -- 临时变量
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

热心网友 时间:2023-10-23 17:03

http://hi.baidu.com/caishbian/blog/item/68aeda1100b23217b9127b34.html
可以先看一下这个,看懂了,要存储过程的Q我:313112624```
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ipad mini2怎么看小说 关于ipadmini的几点疑惑 苹果平板图书阅读软件推荐推荐一个苹果可以用的免费看小说app 风冷无霜为什么噪音大 华为matepad11多大尺寸的 applewatch可以发微信语音吗? 人类基因组组成 仅从染色体照片(黑白非显带的)能否区别X染色体和C组染色体? ...车子加速不上来是什么原因,节气门清洗过了也不行? 换了变数箱油洗了节气门 提速慢了 停下来起步根本没力气 河南省安阳市内黄县医保卡使用记录 酷派手机8732买了一个月最近老是自动开关机怎么回事! 请问一下酷派5892总是自动关机是怎么回事呢 哪些人需要澳洲海盐 观赏鱼烂鱼鳞烂腮杂治啊? 锦鲤 烂鳃病有什么好的治疗方法?晚上好 手机淘宝怎么批量删除收藏夹里的东西 要手机操作 身边没电脑。 淘宝收藏夹满了怎么办 酷派8720L为什么老自动关机是什么原因 酷派手机怎么总是自动关机 酷派手机老是自动关机开机怎么办 酷派手机开机后自动关机是什么原因? 大型臭氧设备厂家 水厂的臭氧发生器 什么样的好?便宜 想买一台臭氧发生器,不知道哪家好,能给推 水处理臭氧发生器需要多少钱? 琼c属于哪个市 三沙市行政辖区 酷派手机为啥有时死机或自动关机 酷派手机型号8720l总是自动关机,黑屏怎么回事 成都恒大牧云天峰怎么样?好不好?值不值得买? oppo手机来电提示关机怎么回事 微信好友设置搜索不到对方,有什么办法或软件可以查看对方朋友圈 请问中间的闪电标识是什么意思?iphone 8P 质粒的提取原理 为什么CDR导出EPS文件在AI里打不开? 为什么我的AI CS5打不开EPS文件? 梦见拔牙是什么意思呢 梦见拔牙含义 天干物燥,小心火烛——古人如何防火灭火? 就火怎火就 存管协议是什么,投理想说与富民银行签存管协议是什么意思 登不上怎么把钱取出来 登不上怎么把钱取出来? 中介带看了一次房,然后私下交易,否属于“跳单”?这种行为如何认定? 房屋跳单行为的认定 中介只带看一次,我自己找到房东这算是“跳单”吗? 求技术讨论社区?大家一般在哪里讨论啊?求分享!!! 快速访问工具栏里可以另外取名并保存文档吗? 能不能保存Office2007自定义快速访问工具栏的设置? 餐饮中秋节活动策划方案