一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL Server 分頁查詢存儲過程代碼

SQL Server 分頁查詢存儲過程代碼

2019-11-23 18:42MSSQL教程網 Sql Server

SQL Server分頁查詢存儲過程,對于想使用存儲過程實現分頁的朋友可以參考下。

代碼如下:


CREATE PROCEDURE [dbo].[up_Pager] 
@table varchar(2000), --表名 
@col varchar(50), --按該列來進行分頁 
@orderby bit, --排序,0-順序,1-倒序 
@collist varchar(800),--要查詢出的字段列表,*表示全部字段 
@pagesize int, --每頁記錄數 
@page int, --指定頁 
@condition varchar(800) --查詢條件 
AS 
DECLARE @sql nvarchar(4000),@where1 varchar(800),@where2 varchar(800), 
@total_Item int,@total_Page int 
IF @condition is null or rtrim(@condition)='' 
BEGIN--沒有查詢條件 
SET @where1=' WHERE ' 
SET @where2=' ' 
END 
ELSE 
BEGIN--有查詢條件 
SET @where1=' WHERE ('+@condition+') AND '--本來有條件再加上此條件 
SET @where2=' WHERE ('+@condition+') '--原本沒有條件而加上此條件 
END 
SET @sql='SELECT @total_Item=CEILING((COUNT(*)+0.0)'+') FROM '+@table+ @where2 
EXEC sp_executesql @sql,N'@total_Item int OUTPUT',@total_Item OUTPUT --計算總條數 
set @total_Page = Ceiling((@total_Item+0.0)/@pagesize) --計算頁總數 

IF @orderby=0 
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+ 
' , '+ CAST(@total_Item AS varchar) + ' as total_Item' + 
' , '+CAST(@total_Page AS varchar) + ' as total_Page' + 
' FROM mailto:'+@table+@where1+@col+'%3E(SELECT MAX('+@col+') '+ 
' FROM (SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+ 
@col+' FROM '+@table+@where2+'ORDER BY '+@col+') t) ORDER BY '+@col 
ELSE 
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+ 
' , '+ CAST(@total_Item AS varchar) + ' as total_Item' + 
' , '+CAST(@total_Page AS varchar) + ' as total_Page' + 
' FROM mailto:'+@table+@where1+@col+'%3C(select MIN('+@col+') '+ 
' FROM (SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+ 
@col+' FROM '+@table+@where2+'ORDER BY '+@col+' DESC) t) ORDER BY '+ 
@col+' DESC' 
IF @page=1--第一頁 
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+ 
' , '+ CAST(@total_Item AS varchar) + ' as total_Item' + 
' , '+CAST(@total_Page AS varchar) + ' as total_Page' + 
' FROM '+@table+ 
@where2+'ORDER BY '+@col+CASE @orderby WHEN 0 THEN '' ELSE ' DESC' END 
--print @sql 
EXEC(@sql) 


在SQL中測試(教你如何使用) 

復制代碼代碼如下:


EXEC up_Pager '(SELECT * FROM 表名)aa','要排序的列名',0-順序或1-倒序,'顯示列',每頁記錄數,指定頁,'條件' 
EXEC up_Pager '(SELECT * FROM T_Gather_Page)aa','SaveTime',1,'*',40,3,'' 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高h射尿 | 好吊妞乱淫 | 国产一区二区在线观看美女 | 亚洲九九爱 | 免费观看国产精品 | 日本午夜色 | 亚洲AVAV天堂AV在线网爱情 | 欧美丝袜videohd | 99热成人精品热久久669 | 高清不卡日本v在线二区 | 高h文恩好大好爽 | 女教师波多野结衣高清在线 | 俺去俺去啦最新官网在线 | 四虎网站网址 | 免费操比视频 | 丰腴尤物贵妇浪荡小说 | 色婷丁香 | 大ji吧快给我别停受不了视频 | 天天做日日做天天添天天欢公交车 | yjsp妖精视频在线观看免费 | 亚洲日本在线观看网址 | 亚洲第一色网站 | 亚洲AV综合99一二三四区 | 特黄特黄一级高清免费大片 | 成人网18免费网 | 国产欧美日韩图片一区二区 | 好大用力深一点 | 精品日本三级在线观看视频 | 高清国语自产拍免费视频国产 | 91啦在线播放 | haodiaose在线精品免费视频 | 国产精品玖玖玖影院 | 96日本xxxxxxxxx70 95在线观看精品视频 | 乌克兰bbw| 9久re在线观看视频精品 | 亚洲国产第一 | 欧美成人午夜片一一在线观看 | 楚乔传第二部全60集免费观看 | 国产在线极品 | 青青青视频免费线看 视频 青青青青青国产免费手机看视频 | 色综合久久最新中文字幕 |