复制代码 代码如下:
--根据MAX(MIN)ID
CREATE PROC [dbo].[proc_select_id]
@pageindex int=1,--当前页数
@pagesize int=10,--每页大小
@tablename VARCHAR(50)='',--表名
@fields VARCHAR(1000)='',--查询的字段集合
@keyid VARCHAR(50)='',--主键
@condition NVARCHAR(1000)='',--查询条件
@orderstr VARCHAR(500),--排序条件
@totalRecord BIGINT OUTPUT--总记录数
AS
IF ISNULL(@orderstr,N'')=N'' SET @orderstr=N' ORDER BY '+@keyid+N' DESC '
IF ISNULL(@fields,N'')=N'' SET @fields=N'*'
IF ISNULL(@condition,N'')=N'' SET @condition=N'1=1'
DECLARE @sql NVARCHAR(4000)
--IF(@totalRecord IS NULL)
--BEGIN
SET @sql=N'SELECT @totalRecord=COUNT(*)'
+N' FROM '+@tablename
+N' WHERE '+@condition
EXEC sp_executesql @sql,N'@totalRecord INT OUTPUT',@totalRecord OUTPUT
--END
IF(@pageindex=1)
BEGIN
SET @sql=N'SELECT TOP '+STR(@pagesize)+N' '+@fields+N' FROM '+@tablename+N' WHERE '+@condition+N' '+@orderstr
EXEC(@sql)
END
ELSE
BEGIN
DECLARE @operatestr CHAR(3),@comparestr CHAR(1)
SET @operatestr='MAX'
SET @comparestr='>'
IF(@orderstr<>'')
BEGIN
IF(CHARINDEX('desc',LOWER(@orderstr))<>0)
BEGIN
SET @operatestr='MIN'
SET @comparestr='<'
END
END
SET @sql=N'SELECT top '+STR(@pagesize)+N' '+@fields+N' FROM '+@tablename+N' WHERE '+@keyid+@comparestr
+N'(SELECT '+@operatestr+N'('+@keyid+N') FROM '+@tablename+N' WHERE '+@keyid
+N' IN (SELECT TOP '+STR((@pageindex-1)*@pagesize)+N' '+@keyid+N' FROM '+@tablename+N' WHERE '
+@condition+N' '+@orderstr+N')) AND '+@condition+N' '+@orderstr
EXEC(@sql)
END
GO
--根据ROW_NUMBER() OVER
CREATE PROC [dbo].[proc_select_page_row]
@pageindex INT=1,--当前页数
@pagesize INT=10,--每页大小
@tablename VARCHAR(50)='',--表名
@fields VARCHAR(1000)='*',--查询的字段集合
@keyid VARCHAR(50)='',--主键
@condition NVARCHAR(1000)='',--查询条件
@orderstr VARCHAR(500),--排序条件
@totalRecord BIGINT OUTPUT--总记录数
AS
IF ISNULL(@orderstr,N'')=N'' SET @orderstr=N' ORDER BY '+@keyid+N' DESC '
IF ISNULL(@fields,N'')=N'' SET @fields=N'*'
IF ISNULL(@condition,N'')=N'' SET @condition=N'1=1'
DECLARE @sql NVARCHAR(4000)
-- IF @totalRecord IS NULL
-- BEGIN
SET @sql=N'SELECT @totalRecord=COUNT(*)'
+N' FROM '+@tablename
+N' WHERE '+@condition
EXEC sp_executesql @sql,N'@totalRecord bigint OUTPUT',@totalRecord OUTPUT
--END
IF(@pageindex=1)
BEGIN
SET @sql=N'SELECT TOP '+STR(@pagesize)+N' '+@fields+N' FROM '+@tablename+N' WHERE '+@condition+N' '+@orderstr
EXEC(@sql)
END
ELSE
BEGIN
DECLARE @StartRecord INT
SET @StartRecord = (@pageindex-1)*@pagesize + 1
SET @sql=N'SELECT * FROM (SELECT ROW_NUMBER() OVER ('+ @orderstr +N') AS rowId,'+@fields+N' FROM '+ @tablename+N') AS T WHERE rowId>='+STR(@StartRecord)+N' and rowId<='+STR(@StartRecord + @pagesize - 1)
EXEC(@sql)
END
GO
--根据TOP ID
CREATE PROC [dbo].[proc_select_page_top]
@pageindex INT=1,--当前页数
@pagesize INT=10,--每页大小
@tablename VARCHAR(50)='',--表名
@fields VARCHAR(1000)='',--查询的字段集合
@keyid VARCHAR(50)='',--主键
@condition NVARCHAR(1000)='',--查询条件
@orderstr VARCHAR(500),--排序条件
@totalRecord BIGINT OUTPUT--总记录数
AS
IF ISNULL(@orderstr,N'')=N'' SET @orderstr=N' ORDER BY '+@keyid+N' DESC '
IF ISNULL(@fields,N'')=N'' SET @fields=N'*'
IF ISNULL(@condition,N'')=N'' SET @condition=N'1=1'
DECLARE @sql NVARCHAR(4000)
--IF(@totalRecord IS NULL)
--BEGIN
SET @sql=N'SELECT @totalRecord=COUNT(*)'
+N' FROM '+@tablename
+N' WHERE '+@condition
EXEC sp_executesql @sql,N'@totalRecord INT OUTPUT',@totalRecord OUTPUT
--END
IF(@pageindex=1)
BEGIN
SET @sql=N'SELECT TOP '+STR(@pagesize)+N' '+@fields+N' FROM '+@tablename+N' WHERE '+@condition+N' '+@orderstr
EXEC(@sql)
END
ELSE
BEGIN
SET @sql=N'SELECT TOP '+STR(@pagesize)+N' '+@fields+N' FROM '+@tablename+N' WHERE '+@keyid
+N' NOT IN(SELECT TOP '+STR((@pageindex-1)*@pagesize)+N' '+@keyid+N' FROM '
+@tablename+N' WHERE '+@condition+N' '+@orderstr+N') AND '+@condition+N' '+@orderstr
EXEC(@sql)
END
GO
相关推荐:
seo辅助词选什么,seo助手 ,各车企ai
SEO外链建设:提升网站排名的关键策略,ai偏执
SEO站在未来之巅,助力网站在激烈竞争中脱颖而出,推荐网站优化欢迎咨询
SEO优化排-打造高效的网络营销利器,精神AI
ChatGPT桌面版无法加载?快速解决方案及常见问题解析,ai媚眼
ChatGPT当前不可用?如何应对AI服务中断的挑战,ai文章免费写作app
提升写作效率,释放创意潜力文章生成AI软件的未来
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
SEO子-为你的网站注入流量的秘密武器,麻城网站网址优化
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
优化高效率:提升个人与企业竞争力的关键,安康网站推广咨询
SEO优化的话题:助力企业成功的关键,夏杰ai智能管家
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
ChatGPT出问题?背后的原因与解决方案,夸克ai写作生成
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
AI.生成重新定义创造力的新纪元
ChatGPT维护页面-背后的技术与用户体验,ai领域ppt
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
SEO优化如何进行:提升网站排名,轻松超越竞争对手,ai写作怎么操作手机
什么是SEO金融,seo是做什么的 ,ai中转程序
什么是seo在线咨询,什么是seo在线咨询服务 ,unreal ai
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词
SEO建议:如何通过优化提升网站流量,赢得市场竞争,自媒体网站免费推广平台
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费
SEO联系:如何通过SEO优化提升您的网络营销效果,企业营销推广获客
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
ChatGPT内部HTTP接口文档-为开发者提供高效便捷的AI服务接入方式,安屿ai
SEO深度解析:如何通过深度优化提升网站排名,带来流量和转化,咸宁网站建设大概费用
ChatGPT无服务:如何突破限制,未来人工智能的新可能,ai绘制装饰画
ChatGPT页面打不开怎么办?这些解决方法让你轻松访问AI助手!,分散ai
SEO舆情:如何通过有效的舆情管理提升企业品牌形象,seo推广外包提高收录
seo要懂些什么,seo主要做什么的 ,小艾艾AI
为什么要监控SEO效果,国家为什么要监控个人 ,抚顺ai系统
ChatPartner无法连接网络?解决方案,让你的聊天体验更顺畅!,如何用ai给自己写作文
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
AI人工智能:改变未来的科技革命
ChatGPT可以实现新闻报道的即时自动化生成,怎么更改ai2的图标
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
优化收费,助力企业提升效益,实现共赢,宜州餐饮网站建设
AI优化文章:如何利用人工智能提升写作效率和质量
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字
OpenAI银行卡扣款的公司是哪家?揭秘背后的支付流程与安全保障,AI素描相片
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说