日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]Sql Server 分页存储过程

發布時間:2024/4/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]Sql Server 分页存储过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉自:

分頁存儲過程一:

?

[sql] view plaincopy print?
  • --/*-----存儲過程?分頁處理?孫偉?2005-03-28創建?-------*/???
  • --/*-----?對數據進行了2分處理使查詢前半部分數據與查詢后半部分數據性能相同?-------*/???
  • --/*-----存儲過程?分頁處理?孫偉?2005-04-21修改?添加Distinct查詢功能-------*/???
  • --/*-----存儲過程?分頁處理?孫偉?2005-05-18修改?多字段排序規則問題-------*/???
  • --/*-----存儲過程?分頁處理?孫偉?2005-06-15修改?多字段排序修改-------*/???
  • --/*-----存儲過程?分頁處理?孫偉?2005-12-13修改?修改數據分頁方式為top?max模式性能有極大提高-------*/???
  • --/*-----缺點:相對之前的not?in版本主鍵只能是整型字段,如主鍵為GUID類型請使用not?in?模式的版本-------*/???
  • CREATE?PROCEDURE?dbo.proc_ListPageInt???
  • (???
  • @tblName?nvarchar(200),?----要顯示的表或多個表的連接???
  • @fldName?nvarchar(500)?=?'*',?----要顯示的字段列表???
  • @pageSize?int?=?10,?----每頁顯示的記錄個數???
  • @page?int?=?1,?----要顯示那一頁的記錄???
  • @pageCount?int?=?1?output,?----查詢結果分頁后的總頁數???
  • @Counts?int?=?1?output,?----查詢到的記錄數???
  • @fldSort?nvarchar(200)?=?null,?----排序字段列表或條件???
  • @Sort?bit?=?0,?----排序方法,0為升序,1為降序(如果是多字段排列Sort指代最后一個排序字段的排列順序(最后一個排序字段不加排序標記)--程序傳參如:'?SortA?Asc,SortB?Desc,SortC?')???
  • @strCondition?nvarchar(1000)?=?null,?----查詢條件,不需where???
  • @ID?nvarchar(150),?----主表的主鍵???
  • @Dist?bit?=?0?----是否添加查詢字段的?DISTINCT?默認0不添加/1添加???
  • )???
  • AS???
  • SET?NOCOUNT?ON???
  • Declare?@sqlTmp?nvarchar(1000)?----存放動態生成的SQL語句???
  • Declare?@strTmp?nvarchar(1000)?----存放取得查詢結果總數的查詢語句???
  • Declare?@strID?nvarchar(1000)?----存放取得查詢開頭或結尾ID的查詢語句???
  • ??
  • Declare?@strSortType?nvarchar(10)?----數據排序規則A???
  • Declare?@strFSortType?nvarchar(10)?----數據排序規則B???
  • ??
  • Declare?@SqlSelect?nvarchar(50)?----對含有DISTINCT的查詢進行SQL構造???
  • Declare?@SqlCounts?nvarchar(50)?----對含有DISTINCT的總數查詢進行SQL構造???
  • ??
  • ??
  • if?@Dist?=?0???
  • begin???
  • set?@SqlSelect?=?'select?'???
  • set?@SqlCounts?=?'Count(*)'???
  • end???
  • else???
  • begin???
  • set?@SqlSelect?=?'select?distinct?'???
  • set?@SqlCounts?=?'Count(DISTINCT?'+@ID+')'???
  • end???
  • ??
  • ??
  • if?@Sort=0???
  • begin???
  • set?@strFSortType='?ASC?'???
  • set?@strSortType='?DESC?'???
  • end???
  • else???
  • begin???
  • set?@strFSortType='?DESC?'???
  • set?@strSortType='?ASC?'???
  • end???
  • ??
  • ??
  • ??
  • --------生成查詢語句--------???
  • --此處@strTmp為取得查詢結果數量的語句???
  • if?@strCondition?is?null?or?@strCondition=''?--沒有設置顯示條件???
  • begin???
  • set?@sqlTmp?=?@fldName?+?'?From?'?+?@tblName???
  • set?@strTmp?=?@SqlSelect+'?@Counts='+@SqlCounts+'?FROM?'+@tblName??
  • set?@strID?=?'?From?'?+?@tblName???
  • end???
  • else???
  • begin???
  • set?@sqlTmp?=?+?@fldName?+?'From?'?+?@tblName?+?'?where?(1>0)?'?+?@strCondition???
  • set?@strTmp?=?@SqlSelect+'?@Counts='+@SqlCounts+'?FROM?'+@tblName?+?'?where?(1>0)?'?+?@strCondition???
  • set?@strID?=?'?From?'?+?@tblName?+?'?where?(1>0)?'?+?@strCondition???
  • end???
  • ??
  • ----取得查詢結果總數量-----???
  • exec?sp_executesql?@strTmp,N'@Counts?int?out?',@Counts?out???
  • declare?@tmpCounts?int???
  • if?@Counts?=?0???
  • set?@tmpCounts?=?1???
  • else???
  • set?@tmpCounts?=?@Counts???
  • ??
  • --取得分頁總數???
  • set?@pageCount=(@tmpCounts+@pageSize-1)/@pageSize???
  • ??
  • /**//**當前頁大于總頁數?取最后一頁**/???
  • if?@page>@pageCount???
  • set?@page=@pageCount???
  • ??
  • --/*-----數據分頁2分處理-------*/???
  • declare?@pageIndex?int?--總數/頁大小???
  • declare?@lastcount?int?--總數%頁大小???
  • ??
  • set?@pageIndex?=?@tmpCounts/@pageSize???
  • set?@lastcount?=?@tmpCounts%@pageSize???
  • if?@lastcount?>?0???
  • set?@pageIndex?=?@pageIndex?+?1???
  • else???
  • set?@lastcount?=?@pagesize???
  • ??
  • --//***顯示分頁???
  • if?@strCondition?is?null?or?@strCondition=''?--沒有設置顯示條件???
  • begin???
  • if?@pageIndex<2?or?@page<=@pageIndex?/?2?+?@pageIndex?%?2?--前半部分數據處理???
  • begin???
  • if?@page=1???
  • set?@strTmp=@SqlSelect+'?top?'+?CAST(@pageSize?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • else???
  • begin???
  • set?@strTmp=@SqlSelect+'?top?'+?CAST(@pageSize?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?where?'+@ID+'?<(select?min('+?@ID?+')?from?('+?@SqlSelect+'?top?'+?CAST(@pageSize*(@page-1)?as?Varchar(20))?+'?'+?@ID?+'?from?'+@tblName??
  • +'?order?by?'+?@fldSort?+'?'+?@strFSortType+')?AS?TBMinID)'???
  • +'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • end???
  • end???
  • else???
  • begin???
  • set?@page?=?@pageIndex-@page+1?--后半部分數據處理???
  • if?@page?<=?1?--最后一頁數據顯示???
  • set?@strTmp=@SqlSelect+'?*?from?('+@SqlSelect+'?top?'+?CAST(@lastcount?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?order?by?'+?@fldSort?+'?'+?@strSortType+')?AS?TempTB'+'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • else???
  • set?@strTmp=@SqlSelect+'?*?from?('+@SqlSelect+'?top?'+?CAST(@pageSize?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?where?'+@ID+'?>(select?max('+?@ID?+')?from('+?@SqlSelect+'?top?'+?CAST(@pageSize*(@page-2)+@lastcount?as?Varchar(20))?+'?'+?@ID?+'?from?'+@tblName??
  • +'?order?by?'+?@fldSort?+'?'+?@strSortType+')?AS?TBMaxID)'???
  • +'?order?by?'+?@fldSort?+'?'+?@strSortType+')?AS?TempTB'+'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • end???
  • end???
  • ??
  • else?--有查詢條件???
  • begin???
  • if?@pageIndex<2?or?@page<=@pageIndex?/?2?+?@pageIndex?%?2?--前半部分數據處理???
  • begin???
  • if?@page=1???
  • set?@strTmp=@SqlSelect+'?top?'+?CAST(@pageSize?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?where?1=1?'?+?@strCondition?+?'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • else???
  • begin???
  • set?@strTmp=@SqlSelect+'?top?'+?CAST(@pageSize?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?where?'+@ID+'?<(select?min('+?@ID?+')?from?('+?@SqlSelect+'?top?'+?CAST(@pageSize*(@page-1)?as?Varchar(20))?+'?'+?@ID?+'?from?'+@tblName??
  • +'?where?(1=1)?'?+?@strCondition?+'?order?by?'+?@fldSort?+'?'+?@strFSortType+')?AS?TBMinID)'???
  • +'?'+?@strCondition?+'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • end???
  • end???
  • else???
  • begin???
  • set?@page?=?@pageIndex-@page+1?--后半部分數據處理???
  • if?@page?<=?1?--最后一頁數據顯示???
  • set?@strTmp=@SqlSelect+'?*?from?('+@SqlSelect+'?top?'+?CAST(@lastcount?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?where?(1=1)?'+?@strCondition?+'?order?by?'+?@fldSort?+'?'+?@strSortType+')?AS?TempTB'+'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • else???
  • set?@strTmp=@SqlSelect+'?*?from?('+@SqlSelect+'?top?'+?CAST(@pageSize?as?VARCHAR(4))+'?'+?@fldName+'?from?'+@tblName??
  • +'?where?'+@ID+'?>(select?max('+?@ID?+')?from('+?@SqlSelect+'?top?'+?CAST(@pageSize*(@page-2)+@lastcount?as?Varchar(20))?+'?'+?@ID?+'?from?'+@tblName??
  • +'?where?(1=1)?'+?@strCondition?+'?order?by?'+?@fldSort?+'?'+?@strSortType+')?AS?TBMaxID)'???
  • +'?'+?@strCondition+'?order?by?'+?@fldSort?+'?'+?@strSortType+')?AS?TempTB'+'?order?by?'+?@fldSort?+'?'+?@strFSortType???
  • end???
  • end???
  • ??
  • ------返回查詢結果-----???
  • exec?sp_executesql?@strTmp???
  • --print?@strTmp???
  • SET?NOCOUNT?OFF???
  • GO???
  • --/*-----存儲過程 分頁處理 孫偉 2005-03-28創建 -------*/ --/*----- 對數據進行了2分處理使查詢前半部分數據與查詢后半部分數據性能相同 -------*/ --/*-----存儲過程 分頁處理 孫偉 2005-04-21修改 添加Distinct查詢功能-------*/ --/*-----存儲過程 分頁處理 孫偉 2005-05-18修改 多字段排序規則問題-------*/ --/*-----存儲過程 分頁處理 孫偉 2005-06-15修改 多字段排序修改-------*/ --/*-----存儲過程 分頁處理 孫偉 2005-12-13修改 修改數據分頁方式為top max模式性能有極大提高-------*/ --/*-----缺點:相對之前的not in版本主鍵只能是整型字段,如主鍵為GUID類型請使用not in 模式的版本-------*/ CREATE PROCEDURE dbo.proc_ListPageInt ( @tblName nvarchar(200), ----要顯示的表或多個表的連接 @fldName nvarchar(500) = '*', ----要顯示的字段列表 @pageSize int = 10, ----每頁顯示的記錄個數 @page int = 1, ----要顯示那一頁的記錄 @pageCount int = 1 output, ----查詢結果分頁后的總頁數 @Counts int = 1 output, ----查詢到的記錄數 @fldSort nvarchar(200) = null, ----排序字段列表或條件 @Sort bit = 0, ----排序方法,0為升序,1為降序(如果是多字段排列Sort指代最后一個排序字段的排列順序(最后一個排序字段不加排序標記)--程序傳參如:' SortA Asc,SortB Desc,SortC ') @strCondition nvarchar(1000) = null, ----查詢條件,不需where @ID nvarchar(150), ----主表的主鍵 @Dist bit = 0 ----是否添加查詢字段的 DISTINCT 默認0不添加/1添加 ) AS SET NOCOUNT ON Declare @sqlTmp nvarchar(1000) ----存放動態生成的SQL語句 Declare @strTmp nvarchar(1000) ----存放取得查詢結果總數的查詢語句 Declare @strID nvarchar(1000) ----存放取得查詢開頭或結尾ID的查詢語句 Declare @strSortType nvarchar(10) ----數據排序規則A Declare @strFSortType nvarchar(10) ----數據排序規則B Declare @SqlSelect nvarchar(50) ----對含有DISTINCT的查詢進行SQL構造 Declare @SqlCounts nvarchar(50) ----對含有DISTINCT的總數查詢進行SQL構造 if @Dist = 0 begin set @SqlSelect = 'select ' set @SqlCounts = 'Count(*)' end else begin set @SqlSelect = 'select distinct ' set @SqlCounts = 'Count(DISTINCT '+@ID+')' end if @Sort=0 begin set @strFSortType=' ASC ' set @strSortType=' DESC ' end else begin set @strFSortType=' DESC ' set @strSortType=' ASC ' end --------生成查詢語句-------- --此處@strTmp為取得查詢結果數量的語句 if @strCondition is null or @strCondition='' --沒有設置顯示條件 begin set @sqlTmp = @fldName + ' From ' + @tblName set @strTmp = @SqlSelect+' @Counts='+@SqlCounts+' FROM '+@tblName set @strID = ' From ' + @tblName end else begin set @sqlTmp = + @fldName + 'From ' + @tblName + ' where (1>0) ' + @strCondition set @strTmp = @SqlSelect+' @Counts='+@SqlCounts+' FROM '+@tblName + ' where (1>0) ' + @strCondition set @strID = ' From ' + @tblName + ' where (1>0) ' + @strCondition end ----取得查詢結果總數量----- exec sp_executesql @strTmp,N'@Counts int out ',@Counts out declare @tmpCounts int if @Counts = 0 set @tmpCounts = 1 else set @tmpCounts = @Counts --取得分頁總數 set @pageCount=(@tmpCounts+@pageSize-1)/@pageSize /**//**當前頁大于總頁數 取最后一頁**/ if @page>@pageCount set @page=@pageCount --/*-----數據分頁2分處理-------*/ declare @pageIndex int --總數/頁大小 declare @lastcount int --總數%頁大小 set @pageIndex = @tmpCounts/@pageSize set @lastcount = @tmpCounts%@pageSize if @lastcount > 0 set @pageIndex = @pageIndex + 1 else set @lastcount = @pagesize --//***顯示分頁 if @strCondition is null or @strCondition='' --沒有設置顯示條件 begin if @pageIndex<2 or @page<=@pageIndex / 2 + @pageIndex % 2 --前半部分數據處理 begin if @page=1 set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' order by '+ @fldSort +' '+ @strFSortType else begin set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' where '+@ID+' <(select min('+ @ID +') from ('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-1) as Varchar(20)) +' '+ @ID +' from '+@tblName +' order by '+ @fldSort +' '+ @strFSortType+') AS TBMinID)' +' order by '+ @fldSort +' '+ @strFSortType end end else begin set @page = @pageIndex-@page+1 --后半部分數據處理 if @page <= 1 --最后一頁數據顯示 set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@lastcount as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType else set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' where '+@ID+' >(select max('+ @ID +') from('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-2)+@lastcount as Varchar(20)) +' '+ @ID +' from '+@tblName +' order by '+ @fldSort +' '+ @strSortType+') AS TBMaxID)' +' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType end end else --有查詢條件 begin if @pageIndex<2 or @page<=@pageIndex / 2 + @pageIndex % 2 --前半部分數據處理 begin if @page=1 set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' where 1=1 ' + @strCondition + ' order by '+ @fldSort +' '+ @strFSortType else begin set @strTmp=@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' where '+@ID+' <(select min('+ @ID +') from ('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-1) as Varchar(20)) +' '+ @ID +' from '+@tblName +' where (1=1) ' + @strCondition +' order by '+ @fldSort +' '+ @strFSortType+') AS TBMinID)' +' '+ @strCondition +' order by '+ @fldSort +' '+ @strFSortType end end else begin set @page = @pageIndex-@page+1 --后半部分數據處理 if @page <= 1 --最后一頁數據顯示 set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@lastcount as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' where (1=1) '+ @strCondition +' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType else set @strTmp=@SqlSelect+' * from ('+@SqlSelect+' top '+ CAST(@pageSize as VARCHAR(4))+' '+ @fldName+' from '+@tblName +' where '+@ID+' >(select max('+ @ID +') from('+ @SqlSelect+' top '+ CAST(@pageSize*(@page-2)+@lastcount as Varchar(20)) +' '+ @ID +' from '+@tblName +' where (1=1) '+ @strCondition +' order by '+ @fldSort +' '+ @strSortType+') AS TBMaxID)' +' '+ @strCondition+' order by '+ @fldSort +' '+ @strSortType+') AS TempTB'+' order by '+ @fldSort +' '+ @strFSortType end end ------返回查詢結果----- exec sp_executesql @strTmp --print @strTmp SET NOCOUNT OFF GO 怎么在數據庫中測試呢?

    ?

    ?

    [sql] view plaincopy print?
  • declare?@pageCount?int???
  • declare?@Counts?int???
  • exec?[dbo].[proc_ListPageInt]?'sysobjects',?'*?',?20,1,@pageCount?output,@Counts?output,'id',?0,'','id',0??
  • print?@pageCount?--這個可有可無???
  • print?@Counts?--這個可有可無???
  • declare @pageCount int declare @Counts int exec [dbo].[proc_ListPageInt] 'sysobjects', '* ', 20,1,@pageCount output,@Counts output,'id', 0,'','id',0 print @pageCount --這個可有可無 print @Counts --這個可有可無 執行效果如下:

    ?

    分頁存儲過程二:

    ?

    [sql] view plaincopy print?
  • USE?[JianKunKingTestDatabase001]???
  • GO???
  • ??
  • /******?Object:?StoredProcedure?[dbo].[A_P_HelpPageShow]?Script?Date:?01/21/2015?19:19:42?******/???
  • SET?ANSI_NULLS?ON???
  • GO???
  • ??
  • SET?QUOTED_IDENTIFIER?ON???
  • GO???
  • ??
  • ??
  • ALTER?PROCEDURE?[dbo].[A_P_HelpPageShow]???
  • (???
  • @tblName?nvarchar(max),?--?表名???
  • @strGetFields?varchar(1000)?=?'*',?--?需要返回的列???
  • @fldName?varchar(255)='',?--?排序的字段名???
  • @PageSize?int?=?10,?--?頁尺寸???
  • @PageIndex?int?=?1,?--?頁碼???
  • @OrderType?bit?=?0,?--?設置排序類型,?非?0?值則降序???
  • @strWhere?varchar(1500)?=?'',?--?查詢條件?(注意:?不要加?where)???
  • @Counts?int?=?0?output?--查詢到的記錄數???
  • )???
  • AS???
  • declare?@strSQL?nvarchar(4000)?--?主語句???
  • declare?@strTmp?nvarchar(110)?--?臨時變量???
  • declare?@strOrder?nvarchar(400)?--?排序類型???
  • declare?@totalRecord?int?--查詢到的記錄數???
  • declare?@SqlCounts?nvarchar(max)?----對總數查詢進行SQL構造???
  • --計算總記錄數???
  • begin???
  • if?@strWhere?!=''???
  • set?@SqlCounts?=?'select?@totalRecord=count(*)?from?'?+?@tblName?+?'?where?'+@strWhere??
  • else???
  • set?@SqlCounts?=?'select?@totalRecord=count(*)?from?'?+?@tblName?+?''???
  • end???
  • ??
  • --print?@strWhere???
  • --print?@SqlCounts???
  • exec?sp_executesql?@SqlCounts,N'@totalRecord?int?OUTPUT',@totalRecord?OUTPUT--計算總記錄數???
  • set?@Counts=@totalRecord???
  • ??
  • begin???
  • ??
  • if?@OrderType?!=?0???
  • begin???
  • set?@strTmp?=?'<(select?min'???
  • set?@strOrder?=?'?order?by?'?+?@fldName?+'?desc'???
  • --如果@OrderType不是0,就執行降序,這句很重要!???
  • end???
  • else???
  • begin???
  • set?@strTmp?=?'>(select?max'???
  • set?@strOrder?=?'?order?by?'?+?@fldName?+'?asc'???
  • end???
  • --print?@strOrder???
  • if?@PageIndex?=?1???
  • begin???
  • if?@strWhere?!=?''???
  • set?@strSQL?=?'select?top?'?+?str(@PageSize)?+'?'+@strGetFields+?'?from?'?+?@tblName?+?'?where?'?+?@strWhere?+?'?'?+?@strOrder???
  • else???
  • set?@strSQL?=?'select?top?'?+?str(@PageSize)?+'?'+@strGetFields+?'?from?'+?@tblName?+?'?'+?@strOrder???
  • --如果是第一頁就執行以上代碼,這樣會加快執行速度???
  • end???
  • else???
  • begin???
  • --以下代碼賦予了@strSQL以真正執行的SQL代碼???
  • set?@strSQL?=?'select?top?'?+?str(@PageSize)?+'?'+@strGetFields+?'?from?'???
  • +?@tblName?+?'?where?'?+?@fldName?+?'?'?+?@strTmp?+?'('+?@fldName?+?')?from?(select?top?'?+?str((@PageIndex-1)*@PageSize)?+?'?'+?@fldName?+?'?from?'?+?@tblName?+?'?'?+?@strOrder?+?')?as?tblTmp)'+?@strOrder???
  • --print?@strSQL???
  • if?@strWhere?!=?''???
  • set?@strSQL?=?'select?top?'?+?str(@PageSize)?+'?'+@strGetFields+?'?from?'???
  • +?@tblName?+?'?where?'?+?@fldName?+?'?'?+?@strTmp?+?'('???
  • +?@fldName?+?')?from?(select?top?'?+?str((@PageIndex-1)*@PageSize)?+?'?'???
  • +?@fldName?+?'?from?'?+?@tblName?+?'?where?'?+?@strWhere?+?'?'???
  • +?@strOrder?+?')?as?tblTmp)?and?'?+?@strWhere?+?'?'?+?@strOrder???
  • end???
  • end???
  • --print?@strSQL???
  • exec?sp_executesql?@strSQL???
  • GO???
  • USE [JianKunKingTestDatabase001] GO /****** Object: StoredProcedure [dbo].[A_P_HelpPageShow] Script Date: 01/21/2015 19:19:42 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[A_P_HelpPageShow] ( @tblName nvarchar(max), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 頁尺寸 @PageIndex int = 1, -- 頁碼 @OrderType bit = 0, -- 設置排序類型, 非 0 值則降序 @strWhere varchar(1500) = '', -- 查詢條件 (注意: 不要加 where) @Counts int = 0 output --查詢到的記錄數 ) AS declare @strSQL nvarchar(4000) -- 主語句 declare @strTmp nvarchar(110) -- 臨時變量 declare @strOrder nvarchar(400) -- 排序類型 declare @totalRecord int --查詢到的記錄數 declare @SqlCounts nvarchar(max) ----對總數查詢進行SQL構造 --計算總記錄數 begin if @strWhere !='' set @SqlCounts = 'select @totalRecord=count(*) from ' + @tblName + ' where '+@strWhere else set @SqlCounts = 'select @totalRecord=count(*) from ' + @tblName + '' end --print @strWhere --print @SqlCounts exec sp_executesql @SqlCounts,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--計算總記錄數 set @Counts=@totalRecord begin if @OrderType != 0 begin set @strTmp = '<(select min' set @strOrder = ' order by ' + @fldName +' desc' --如果@OrderType不是0,就執行降序,這句很重要! end else begin set @strTmp = '>(select max' set @strOrder = ' order by ' + @fldName +' asc' end --print @strOrder if @PageIndex = 1 begin if @strWhere != '' set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder else set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder --如果是第一頁就執行以上代碼,這樣會加快執行速度 end else begin --以下代碼賦予了@strSQL以真正執行的SQL代碼 set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @fldName + ' ' + @strTmp + '('+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '+ @fldName + ' from ' + @tblName + ' ' + @strOrder + ') as tblTmp)'+ @strOrder --print @strSQL if @strWhere != '' set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @fldName + ' ' + @strTmp + '(' + @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' ' + @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder end end --print @strSQL exec sp_executesql @strSQL GO 怎么在數據庫中測試呢?

    ?

    ?

    [sql] view plaincopy print?
  • select?count(*)?from?sysobjects?;??
  • declare?@CountsAA?int???
  • exec?[dbo].[A_P_HelpPageShow]?'sysobjects',?'*?',?'id?',20,?1,1,?'?',@CountsAA?output???
  • print?@CountsAA?--這個可有可無??
  • select count(*) from sysobjects ; declare @CountsAA int exec [dbo].[A_P_HelpPageShow] 'sysobjects', '* ', 'id ',20, 1,1, ' ',@CountsAA output print @CountsAA --這個可有可無 執行結果如下:

    ?

    存儲過程二(優化版)

    ?

    [sql] view plaincopy print?
  • USE?[JianKunKingTestDatabase001]??
  • GO??
  • ??
  • /******?Object:??StoredProcedure?[dbo].[A_P_HelpPageShow]????Script?Date:?01/30/2015?20:21:13?******/??
  • SET?ANSI_NULLS?ON??
  • GO??
  • ??
  • SET?QUOTED_IDENTIFIER?ON??
  • GO??
  • ??
  • ??
  • CREATE??PROCEDURE?[dbo].[A_P_HelpPageShow]??
  • (??
  • @TableName???nvarchar(max),???????--?表名??
  • @strGetFields?varchar(1000)?=?'*',?--?需要返回的列???
  • @OrderField?varchar(255)='',??????--?排序的字段名??
  • @PageSize???int?=?10,??????????--?頁尺寸??
  • @PageIndex?int?=?1,??????????--?頁碼??
  • @strWhere?varchar(1500)?=?'',?--?查詢條件?(注意:?不要加?where)??
  • @Counts????int?=?0??output??--查詢到的記錄數??
  • )??
  • AS??
  • declare?@strSQL???nvarchar(4000)???????--?主語句??
  • declare?@totalRecord?int??--查詢到的記錄數??
  • declare?@SqlCounts?nvarchar(max)?????----對總數查詢進行SQL構造??
  • --計算總記錄數??
  • begin??
  • ????if?@strWhere?!=''??
  • set?@SqlCounts?=?'select?@totalRecord=count(*)??from?'?+?@TableName?+?'?where?'+@strWhere??
  • ????else??
  • set?@SqlCounts?=?'select?@totalRecord=count(*)??from?'?+?@TableName?+?''???
  • end???
  • ??
  • exec?sp_executesql?@SqlCounts,N'@totalRecord?int?OUTPUT',@totalRecord?OUTPUT--計算總記錄數??
  • set??@Counts=@totalRecord???
  • ??
  • BEGIN??
  • IF?(@strWhere=''?or?@strWhere?IS?NULL)??
  • SET?@strSQL?=?'Select?*?FROM?(select?'?+?@strGetFields?+?',ROW_NUMBER()?Over(order?by?'?+?@OrderField?+?')?as?rowId?from?'?+?@TableName??
  • ELSE??
  • SET?@strSQL?=?'Select?*?FROM?(select?'?+?@strGetFields?+?',ROW_NUMBER()?Over(order?by?'?+?@OrderField?+?')?as?rowId?from?'?+?@TableName?+?'?where?'?+?@strWhere??????
  • END??
  • ?--處理頁數超出范圍情況???
  • ????IF?@PageIndex<=0???
  • ????????SET?@PageIndex?=?1??
  • ????????
  • ?????--處理開始點和結束點??
  • ????DECLARE?@StartRecord?INT???
  • ????DECLARE?@EndRecord?int??
  • ??????
  • ????SET?@StartRecord?=?(@pageIndex-1)*@PageSize?+?1??
  • ????SET?@EndRecord?=?@StartRecord?+?@PageSize?-?1??
  • ??
  • ?????--繼續合成sql語句??
  • ????SET?@strSQL?=?@strSQL?+?')?as?tempTable?where?rowId?>='?+?CONVERT(VARCHAR(50),@StartRecord)?+?'?and?rowid<=?'?+?CONVERT(VARCHAR(50),@EndRecord)??
  • ??
  • exec?sp_executesql?@strSQL??
  • ??
  • ??
  • GO??
  • USE [JianKunKingTestDatabase001] GO/****** Object: StoredProcedure [dbo].[A_P_HelpPageShow] Script Date: 01/30/2015 20:21:13 ******/ SET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOCREATE PROCEDURE [dbo].[A_P_HelpPageShow] ( @TableName nvarchar(max), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @OrderField varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 頁尺寸 @PageIndex int = 1, -- 頁碼 @strWhere varchar(1500) = '', -- 查詢條件 (注意: 不要加 where) @Counts int = 0 output --查詢到的記錄數 ) AS declare @strSQL nvarchar(4000) -- 主語句 declare @totalRecord int --查詢到的記錄數 declare @SqlCounts nvarchar(max) ----對總數查詢進行SQL構造 --計算總記錄數 beginif @strWhere !='' set @SqlCounts = 'select @totalRecord=count(*) from ' + @TableName + ' where '+@strWhereelse set @SqlCounts = 'select @totalRecord=count(*) from ' + @TableName + '' end exec sp_executesql @SqlCounts,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--計算總記錄數 set @Counts=@totalRecord BEGIN IF (@strWhere='' or @strWhere IS NULL) SET @strSQL = 'Select * FROM (select ' + @strGetFields + ',ROW_NUMBER() Over(order by ' + @OrderField + ') as rowId from ' + @TableName ELSE SET @strSQL = 'Select * FROM (select ' + @strGetFields + ',ROW_NUMBER() Over(order by ' + @OrderField + ') as rowId from ' + @TableName + ' where ' + @strWhere END--處理頁數超出范圍情況 IF @PageIndex<=0 SET @PageIndex = 1--處理開始點和結束點DECLARE @StartRecord INT DECLARE @EndRecord intSET @StartRecord = (@pageIndex-1)*@PageSize + 1SET @EndRecord = @StartRecord + @PageSize - 1--繼續合成sql語句SET @strSQL = @strSQL + ') as tempTable where rowId >=' + CONVERT(VARCHAR(50),@StartRecord) + ' and rowid<= ' + CONVERT(VARCHAR(50),@EndRecord)exec sp_executesql @strSQLGO 拓展:http://blog.csdn.net/jiankunking/article/details/43339301

    轉載于:https://www.cnblogs.com/freeliver54/p/7323672.html

    總結

    以上是生活随笔為你收集整理的[转]Sql Server 分页存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产伦精品一区二区三区在线 | 91在线小视频 | 国产成人福利在线 | av电影不卡在线 | 天天干,天天射,天天操,天天摸 | 亚洲综合国产精品 | 国产亚洲精品免费 | 日本久久精品视频 | 国产亚州av| 久草剧场| 成人毛片在线视频 | 亚洲一区二区观看 | 国产中文字幕在线视频 | 国产精品久久久久久久久久三级 | 黄色亚洲精品 | 国产精品欧美久久 | 在线观看国产区 | 国产成人精品一区二区在线 | 国产成人久久精品77777综合 | 精品久久1 | 在线中文字幕av观看 | 国产精品福利小视频 | 超级av在线 | 国产精品久久久久高潮 | 欧美日韩一区二区免费在线观看 | 久久综合九色九九 | 成 人 黄 色 视频 免费观看 | 在线观看黄 | 在线视频黄 | 91精品国自产在线偷拍蜜桃 | 免费看污黄网站 | 亚洲三级国产 | 欧美国产日韩激情 | 精品一区二区三区久久久 | 久久tv| 黄色亚洲大片免费在线观看 | 99热九九这里只有精品10 | 四虎国产| 最近高清中文字幕 | 日本中文字幕免费观看 | 婷婷丁香自拍 | 丁香六月激情婷婷 | 91麻豆操 | 久久观看免费视频 | 婷婷av网 | 一区二区三区免费在线 | 国产精品久久久久久久久久久免费看 | 中文在线亚洲 | 国产又粗又猛又黄又爽的视频 | 五月开心婷婷网 | 国产精品手机播放 | 欧美日韩在线免费观看 | 免费看黄色小说的网站 | 亚洲艳情 | 99精品在线视频播放 | 手机看片国产日韩 | 九九九九精品九九九九 | 91在线视频免费91 | 深爱激情开心 | 成人av在线看 | 人人舔人人干 | 国产美女精彩久久 | 在线观看日韩中文字幕 | 国产女人40精品一区毛片视频 | 亚洲成熟女人毛片在线 | av在线免费在线观看 | 国产午夜精品视频 | 亚洲美女免费精品视频在线观看 | 韩日精品在线 | 日本久久精品视频 | 国产一区久久 | av在线网站大全 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 毛片视频网址 | av网站在线观看免费 | 国产夫妻av在线 | 99r在线视频| 亚洲 欧美变态 另类 综合 | 国产亚洲视频在线观看 | 99精品毛片 | 国产精品国产亚洲精品看不卡15 | www麻豆视频| www国产亚洲精品久久网站 | 日韩理论在线观看 | 亚洲成a人片在线www | 最近日韩免费视频 | 日韩免费av网址 | 国产伦精品一区二区三区无广告 | 91国内在线视频 | 成人午夜影院在线观看 | 亚洲精品视频在线观看免费视频 | 午夜三级毛片 | 久久影院午夜论 | 久久99国产精品二区护士 | 黄色大片入口 | 人人舔人人爱 | 在线观看精品国产 | 久久国产精品久久精品国产演员表 | 亚州日韩中文字幕 | 国产香蕉97碰碰久久人人 | 西西www4444大胆在线 | 天天操伊人 | 亚洲精品啊啊啊 | 日韩性久久 | 精品亚洲一区二区 | 91观看视频 | 精品不卡视频 | 欧美最猛性xxxxx亚洲精品 | 免费看片网址 | 日韩精品中文字幕一区二区 | 精品一区二区在线免费观看 | 午夜久久久影院 | 激情开心站 | 中文字幕在线观看网 | 91福利社在线观看 | 日韩理论片在线 | 中文字幕在线观看播放 | 亚洲国产成人久久综合 | 主播av在线| 在线观看黄色av | 亚洲专区 国产精品 | 欧美福利视频一区 | 黄色三级免费 | 激情文学综合丁香 | 国产在线播放一区二区三区 | 91九色免费视频 | 国产亚洲精品免费 | 亚洲国产精品久久久 | 国产在线观看污片 | 免费在线观看国产黄 | 在线观看视频中文字幕 | 日韩精品久久久 | 中文字幕乱码电影 | 超碰av在线免费观看 | 天天色天天操天天爽 | 色就色,综合激情 | 丝袜制服天堂 | 91在线视频精品 | 97手机电影网 | 九色在线 | 国产片免费在线观看视频 | 久久天天躁狠狠躁夜夜不卡公司 | 欧美精品久久久久久久久久久 | 国产成人精品一区二区在线观看 | 久久96| 久久综合欧美 | 97国产大学生情侣酒店的特点 | 国产成人亚洲精品自产在线 | 91一区二区三区在线观看 | 国产精品久久久久高潮 | 在线看片中文字幕 | 欧美日韩亚洲第一页 | 视频成人| 欧美日韩中文在线观看 | 天天躁天天狠天天透 | 免费观看国产精品视频 | 九九热在线视频免费观看 | 91试看| 91精品国自产在线观看欧美 | 欧美91av | 高清有码中文字幕 | 最新中文字幕在线观看视频 | 国产精品久久久久久久久久久不卡 | 午夜12点| 国产区在线视频 | 成人va天堂 | 久久久一本精品99久久精品66 | 久久精久久精 | av免费在线免费观看 | 日韩欧美电影网 | 亚洲视频在线免费观看 | 成年人毛片在线观看 | 国产精品国产亚洲精品看不卡15 | 久久精品之 | 国产黄色片网站 | 成人综合婷婷国产精品久久免费 | 人人舔人人爽 | 青草视频在线 | 永久免费的av电影 | 久久夜av | 国产精品久久久久久吹潮天美传媒 | 热久久这里只有精品 | 亚洲免费av观看 | 91亚洲精品久久久中文字幕 | 成人91在线| 精品国产诱惑 | 国产在线日韩 | 日精品| 开心色婷婷 | 亚洲国产成人在线 | 91香蕉久久 | 国产精品久久视频 | 一区二区三区四区精品 | 精品久久久久久久久久 | 四虎在线视频免费观看 | 97成人精品视频在线播放 | 精品国产一区二区三区四区vr | 日韩视频在线不卡 | 久久久av电影 | 精品成人a区在线观看 | 亚洲精品一区二区18漫画 | 国产精品入口麻豆www | www国产亚洲精品 | 免费观看全黄做爰大片国产 | 狠狠色丁香婷婷综合久久片 | 久久视频网址 | 91在线精品观看 | 亚洲午夜久久久久久久久电影网 | 97电影手机 | 97超碰超碰久久福利超碰 | 国产91在线播放 | 久久国产精品一区二区三区 | 国产精品久久久久久影院 | 午夜视频在线观看一区二区三区 | 国产麻豆精品一区 | 精品国产亚洲一区二区麻豆 | 国产不卡在线观看 | 日韩在线高清免费视频 | 超碰在线公开 | 国产精品综合在线 | 国产成人l区 | 国产精品麻豆视频 | 色一级片| 久久99最新地址 | av片在线观看| 中文字幕一区二区三 | 日韩在线一级 | 国产一级二级在线播放 | www.久久爱.cn | 国产福利a| 亚洲国产日韩在线 | 777xxx欧美 | 欧美久久久久久久久久 | 亚洲精品国偷拍自产在线观看 | 亚洲一级特黄 | 婷婷综合久久 | 久久午夜精品视频 | 久久免费国产精品 | 日本mv大片欧洲mv大片 | 免费热情视频 | 激情五月五月婷婷 | 国产中文字幕在线免费观看 | 亚洲高清视频在线 | 成人观看视频 | 久久国产精品小视频 | 国产精品不卡av | 在线观看免费国产小视频 | 在线观看完整版免费 | 久久极品 | 欧美日韩国产精品一区二区三区 | 911精品美国片911久久久 | 99在线免费观看视频 | 欧美9999| 五月婷婷激情五月 | 亚洲最新av在线网址 | 美女久久一区 | 精品黄色在线 | 视频国产一区二区三区 | 91视频免费网站 | 草樱av| 最新中文字幕在线播放 | 欧美精品首页 | 综合网中文字幕 | 久久看免费视频 | 天天躁日日躁狠狠躁 | avhd高清在线谜片 | 久久短视频| 国产一区福利 | 99精品国产一区二区三区不卡 | 日韩av电影免费观看 | 色www精品视频在线观看 | 日韩中文字幕亚洲一区二区va在线 | www国产亚洲精品久久麻豆 | 亚洲黄色免费网站 | 精品在线观 | 国产精品自产拍在线观看蜜 | 国产精品永久免费视频 | 欧美日韩在线观看不卡 | 国产不卡毛片 | 免费看三级黄色片 | 蜜桃传媒一区二区 | 手机av在线免费观看 | 久久国产精品免费视频 | 中文字幕三区 | 91中文在线观看 | 国产99久久久国产精品免费二区 | 91在线看网站 | 日韩视频二区 | 草 免费视频 | 国产成人免费观看 | 国产一区在线观看免费 | 日韩资源视频 | 婷婷日韩 | 四虎在线观看精品视频 | 国产成人精品福利 | 五月婷婷六月丁香激情 | 91在线视频免费观看 | 国产精品欧美日韩在线观看 | 亚洲理论影院 | 视频直播国产精品 | 在线观看av网 | 中文字幕视频免费观看 | 久久久综合九色合综国产精品 | 日韩三级视频在线观看 | 中文视频在线播放 | 亚洲精品av在线 | 亚洲综合在线五月天 | 国产一区免费看 | 91桃色视频 | 日韩在线视频一区二区三区 | 在线成人小视频 | 免费在线观看成人小视频 | 精品国内自产拍在线观看视频 | 色多多视频在线 | 国产精品ssss在线亚洲 | 99在线观看视频网站 | 婷婷激情久久 | 99热日本| 婷婷六月天在线 | 精品亚洲免费 | 久久好看免费视频 | 欧美精品免费一区二区 | 福利视频一区二区 | 干天天| 国内成人精品2018免费看 | 国产三级国产精品国产专区50 | 国产福利一区二区在线 | 成人91免费视频 | 99精品在线视频播放 | 一级全黄毛片 | 91精品国产91热久久久做人人 | 免费av视屏 | 成人在线免费视频观看 | 欧美男同视频网站 | www黄| av中文字幕av| av福利在线免费观看 | 一区二区三区在线不卡 | 最近高清中文字幕 | 国产剧在线观看片 | 日韩电影在线观看一区 | 黄色视屏在线免费观看 | 久久精品国产精品 | 毛片网站在线 | 97超碰在线播放 | 激情婷婷六月 | 天天操天天干天天插 | 国产手机av | 久久久久9999亚洲精品 | 中文字幕一区二区三区四区视频 | 国产最新视频在线观看 | 日韩精品一区二区三区中文字幕 | 精品国产乱码久久 | 久久久久久免费网 | 日韩天天干 | 国产91精品看黄网站在线观看动漫 | 麻豆一区二区三区视频 | 一性一交视频 | 西西4444www大胆无视频 | 国产淫a | 国产精品伦一区二区三区视频 | 99久久精品国 | 免费三级av| 欧美另类交人妖 | 国产伦理精品一区二区 | 亚洲欧洲成人 | 色吊丝在线永久观看最新版本 | 午夜精品一区二区三区免费 | 日韩av在线资源 | 国产色久 | 免费成人av网站 | 免费观看一级特黄欧美大片 | 青青河边草免费观看 | 久久男人免费视频 | 欧美激情综合网 | 91传媒在线| 夜夜澡人模人人添人人看 | 亚洲一区视频免费观看 | 日韩在线观看一区二区三区 | 亚洲精选国产 | 日本夜夜草视频网站 | 伊人久久婷婷 | 香蕉视频网站在线观看 | 色视频在线观看免费 | 成片视频免费观看 | 中文字幕在线观看2018 | 欧美黄色高清 | 国产高清专区 | 91成人免费电影 | 亚洲精品av在线 | 成人国产综合 | 麻豆视频免费入口 | 97超碰中文字幕 | av网站大全免费 | 亚洲精品字幕在线 | 久久中文字幕视频 | 亚洲综合一区二区精品导航 | 激情久久久久久久久久久久久久久久 | 成人影音在线 | 伊人精品影院 | 日本韩国精品在线 | 国产一级在线观看 | 亚洲精品乱码久久久久久久久久 | 精品一区二区在线免费观看 | 黄色大片日本免费大片 | 国产日韩欧美在线一区 | 91成人看片 | 麻豆av电影 | 91在线91| 免费福利在线观看 | 免费在线一区二区 | 欧洲亚洲国产视频 | 精品一区在线 | 日韩在线免费高清视频 | 精品一区二区影视 | 欧美资源在线观看 | 久久精品99国产精品日本 | 久久久久久久99 | 天天操夜夜操国产精品 | 亚洲国产中文字幕在线 | 婷婷在线视频观看 | 久久av观看 | 国内精品在线一区 | 久久久99精品免费观看app | 91麻豆看国产在线紧急地址 | 在线观看国产成人av片 | av成人免费 | 91av片| 色鬼综合网 | 欧美色一色 | 久久久久综合视频 | 国产精品久久久 | 在线精品亚洲一区二区 | 国产精品入口麻豆www | 中文字幕888 | 亚洲视频免费在线观看 | 在线免费亚洲 | 成人免费在线视频 | 国产精品九九视频 | 中文字幕第一页在线 | 五月婷婷丁香 | 深爱五月网 | 国产精品大全 | 国产又粗又长的视频 | 狠狠干网址 | 国产男女无遮挡猛进猛出在线观看 | 不卡的av中文字幕 | 国产精品不卡 | 亚洲精品在线一区二区三区 | 久草在线国产 | 亚洲电影自拍 | 色婷婷六月天 | 久久99久久精品 | 国产精品视频免费在线观看 | 97在线精品国自产拍中文 | 久久久久国产成人免费精品免费 | 制服丝袜天堂 | 日本一区二区免费在线观看 | 一区二区三区在线观看免费 | 日韩高清国产精品 | 成人网444ppp| 亚洲精品xxxx | 欧美日韩91 | 中文字幕一区二区三区四区在线视频 | 国产精品麻豆99久久久久久 | www操操操 | 色在线视频网 | 国产xxxx| 夜色资源网 | 精品一二三四视频 | 久爱精品在线 | 久草干| 97视频在线观看成人 | 中文字幕一区二区三区四区在线视频 | 国产破处精品 | 午夜av在线 | 成人一级视频在线观看 | 丝袜美腿亚洲综合 | 香蕉影院在线播放 | 精品福利在线 | 成人一区二区三区在线 | 日韩网站在线看片你懂的 | 日韩电影在线观看一区二区 | 毛片99| 天堂资源在线观看视频 | 日日添夜夜添 | 91看片看淫黄大片 | 91免费观看视频网站 | 久久99免费视频 | 日韩精品一区二区三区免费观看视频 | 特级a毛片| 久久婷婷综合激情 | 国产精品一区二区久久久久 | 日韩色中色 | 成年人app网址 | 亚洲成人精品 | 亚洲综合情 | 最新av电影网站 | 久久看片网 | 国产精品电影在线 | 黄色三级免费片 | 久草影视在线观看 | 亚洲国内精品在线 | 玖玖视频国产 | 一区二区久久久久 | 亚洲视频在线观看网站 | 日韩精品亚洲专区在线观看 | 国产一区二区三区在线 | 黄色天堂在线观看 | 综合激情网... | 中国精品少妇 | 国产麻豆果冻传媒在线观看 | 97国产精品久久 | 伊人天天狠天天添日日拍 | 日本二区三区在线 | 久久国产网站 | 中文字幕久久精品 | 午夜性生活 | a在线免费 | 热久久免费视频精品 | 国产视频美女 | 欧美贵妇性狂欢 | 久久免费99精品久久久久久 | 亚洲黄色一级电影 | 91插插插网站 | 欧美精品久久久 | 三级av在线 | 欧美激情h | 精品久久亚洲 | 色多多视频在线 | 天天躁日日躁狠狠躁av麻豆 | 香蕉在线视频播放网站 | 国产成人精品一区一区一区 | 国产999精品视频 | 久久久精品电影 | 日韩精品一区不卡 | 91精品国产99久久久久久红楼 | 亚洲精品999| 天天天天天天操 | 国产人成看黄久久久久久久久 | 色婷婷综合视频在线观看 | 狠狠精品| 国内成人综合 | 97超碰在线资源 | 一级做a视频 | 欧洲亚洲女同hd | 欧美精品成人在线 | 日韩精品三区四区 | 国内精品久久久久国产 | 看片在线亚洲 | 欧美国产日韩一区二区三区 | 国产黄色播放 | 婷婷色5月 | 综合影视 | 97人人澡人人添人人爽超碰 | 午夜色场 | 91九色国产视频 | 9在线观看免费高清完整版 玖玖爱免费视频 | 17婷婷久久www | 中文字幕网站 | 亚洲va欧美va人人爽 | 久久久久在线视频 | 手机在线黄色网址 | 97超碰在线资源 | 久草亚洲视频 | 天天色天天艹 | 在线视频欧美精品 | 一区免费观看 | 激情婷婷色 | 麻豆传媒电影在线观看 | 久草青青在线观看 | 国产精品久久久久久久久久免费 | 免费看污黄网站 | 最新动作电影 | 久草亚洲视频 | 免费在线国产黄色 | 欧美作爱视频 | 日韩18p| 欧美日韩中文在线视频 | 亚洲精品一区二区三区新线路 | 91视频久久 | 日本久久中文 | 婷婷网站天天婷婷网站 | 91av大全| 久久精品视频国产 | 欧美日韩二三区 | 99看视频在线观看 | 久久高清 | 久青草电影 | 亚洲精品99久久久久久 | 麻豆视频成人 | 91视频88av| 91在线入口 | 日韩一区二区三 | 2019中文最近的2019中文在线 | 日日精品 | 国模一区二区三区四区 | 国产91区 | 狠狠躁夜夜躁人人爽视频 | 成人午夜精品久久久久久久3d | 国产资源网站 | 婷婷国产在线 | avwww在线观看 | 久久精品欧美一区二区三区麻豆 | 国产麻豆视频在线观看 | 美女黄网久久 | 激情久久综合 | 精品一二三四五区 | 欧美一区二区三区特黄 | 九色琪琪久久综合网天天 | 国产成人综合精品 | 日韩av播放在线 | 国产精品aⅴ | 精品超碰 | 久久久国产一区二区三区四区小说 | 久久丝袜视频 | 91精品国产91p65 | 综合色中色| 天天干天天搞天天射 | 日本论理电影 | 日日射天天射 | 久久亚洲专区 | 麻豆免费观看视频 | 日本黄色大片儿 | 激情婷婷在线观看 | 一区二区中文字幕在线播放 | 亚欧洲精品视频在线观看 | 韩日精品在线 | 人人玩人人弄 | 久草视频资源 | 国产精品专区在线观看 | www.夜夜爱| 蜜臀久久99精品久久久酒店新书 | 天天艹日日干 | 久久成人黄色 | 中文字幕在线视频国产 | 亚洲综合色丁香婷婷六月图片 | 中文字幕在线看视频国产 | 在线观看av片| 香蕉成人在线视频 | 91麻豆精品国产自产在线游戏 | 女女av在线 | 97碰在线视频 | 精品免费一区二区三区 | 欧美综合国产 | 久久有精品 | 久久爱资源网 | 一级成人免费视频 | 国产乱对白刺激视频在线观看女王 | 射久久久| 三级av片 | 国内精品久久久久久久久久清纯 | 国内99视频| 青青看片 | 亚洲四虎| 国产美女被啪进深处喷白浆视频 | 99色在线观看 | 日韩免费一级电影 | 国产成人久久久久 | 国产一区二区三精品久久久无广告 | 久久99免费 | 国产字幕在线观看 | 日韩精品视频在线观看免费 | 黄色软件大全网站 | 99精品热视频只有精品10 | 婷婷伊人网 | 丁香六月色 | 福利久久久 | 丁香花在线视频观看免费 | 久久免费视频国产 | 国产一区二区久久 | 九九免费视频 | 国产日韩欧美网站 | 精品一区二区三区电影 | 国产一区高清在线 | 91黄色影视 | 中文字幕视频 | av免费在线观看1 | 看黄色91 | 婷婷精品 | 天天天干夜夜夜操 | 伊人精品在线 | 天堂va在线观看 | 超级碰碰碰视频 | 99精彩视频在线观看免费 | 欧美男男tv网站 | 99精品国产福利在线观看免费 | 国产三级精品三级在线观看 | 久久精品美女 | 久久综合亚洲鲁鲁五月久久 | 国内外成人在线 | 亚洲精品中文在线资源 | av在线精品| 婷婷中文字幕综合 | 欧洲一区二区在线观看 | 日韩特级毛片 | 欧美视频在线观看免费网址 | 狠狠色狠狠色 | 久久久午夜电影 | 国产99在线免费 | 欧美一级片 | 国产永久网站 | 精品国产一区在线观看 | 欧美性色综合网 | 中文字幕色在线 | 黄色电影在线免费观看 | 2019av在线视频 | 国产成人av网站 | 欧美激情精品久久久久久 | 激情欧美xxxx | 久久伊人精品天天 | 中文字幕久久网 | 欧美日韩亚洲在线观看 | 国产丝袜一区二区三区 | 香蕉视频免费在线播放 | 国产第一页福利影院 | 天堂av在线免费 | 五月天综合激情网 | 五月天电影免费在线观看一区 | 亚洲天天做 | 九九免费观看视频 | 亚洲精品视频在 | 97人人澡人人添人人爽超碰 | 国产一级91 | 97成人精品视频在线观看 | 又黄又爽又湿又无遮挡的在线视频 | 亚洲资源在线网 | 日本三级不卡视频 | 久久久久久美女 | 国产一区二区三区视频在线 | 亚洲精品免费在线播放 | 欧美亚洲另类在线视频 | 国产女人40精品一区毛片视频 | 在线 成人 | 亚洲第一成网站 | 国产一区二三区好的 | 日韩毛片在线一区二区毛片 | av福利免费 | 中文字幕制服丝袜av久久 | 国产综合在线观看视频 | 精品视频区 | 国内久久精品视频 | 在线精品视频免费播放 | av中文字幕在线观看网站 | 日韩v在线 | 国产成人99久久亚洲综合精品 | 免费男女羞羞的视频网站中文字幕 | 成人午夜影院 | 久久美女视频 | 又黄又爽又无遮挡免费的网站 | 亚洲一区二区黄色 | 欧美做受高潮电影o | 三级在线播放视频 | 亚洲欧洲国产视频 | 午夜精品电影一区二区在线 | 四虎成人精品在永久免费 | 韩日av在线 | 国产精品视频免费看 | 粉嫩av一区二区三区入口 | 国产精品自产拍 | 成人小视频在线观看免费 | 亚洲资源在线观看 | 黄色成人小视频 | 久久伊人国产精品 | 精品国产乱码一区二区三区在线 | 欧美一级乱黄 | 免费在线观看黄色网 | 91在线视频免费91 | 国产大片黄色 | 欧美一级黄色视屏 | 国产 日韩 中文字幕 | 中文字幕一区av | www.av中文字幕.com | 伊人天天综合 | 亚洲精品xxx | 玖玖视频免费在线 | 99视频精品在线 | .国产精品成人自产拍在线观看6 | 欧美日韩在线观看视频 | 久久字幕网 | 亚洲国产人午在线一二区 | 亚洲视频久久久久 | www黄色com | 97成人精品视频在线播放 | 91久久人澡人人添人人爽欧美 | 在线国产一区二区 | 日韩在线观看视频在线 | 日韩中文字幕在线看 | 久草视频在线新免费 | 黄色av免费| 欧美一级特黄aaaaaa大片在线观看 | 天天色影院 | 热久久影视 | 97色综合 | www狠狠操 | 激情影音先锋 | 日韩欧美在线观看一区二区 | 91看片网址| 中文字幕日韩精品有码视频 | 久久精品视频免费 | 久久五月天综合 | 精品三级av | 国产黑丝一区二区 | 一二三区高清 | 亚洲一区二区三区毛片 | av女优中文字幕在线观看 | 国产又粗又长又硬免费视频 | 日日操天天操夜夜操 | 久久99久久99精品中文字幕 | 国产精品中文字幕在线观看 | 亚洲精品视频www | 色噜噜狠狠狠狠色综合久不 | 黄色av在| 最近久乱中文字幕 | 亚洲欧美一区二区三区孕妇写真 | 日韩三级免费 | 欧美 日韩 国产 成人 在线 | 干干日日 | 蜜臀av夜夜澡人人爽人人桃色 | 久久久久久久久久久福利 | 91亚洲欧美激情 | 国产精品乱码久久久久久1区2区 | 欧美色图亚洲图片 | 国产一级精品在线观看 | 国产中文字幕在线观看 | 日日夜夜精品网站 | 五月天综合网站 | 黄色免费看片网站 | 蜜臀久久99精品久久久酒店新书 | 夜夜嗨av色一区二区不卡 | 99视频导航| 99这里只有| 一区三区在线欧 | a v在线视频 | 天天插天天爱 | 亚洲一级黄色av | 成人免费在线观看入口 | 久久精品91久久久久久再现 | 黄色小说免费在线观看 | 久久久午夜影院 | 日韩视频在线不卡 | 欧女人精69xxxxxx | 国产99久久久精品 | 国产我不卡 | 色a4yy| 国产精品每日更新 | 亚洲国产欧美在线看片xxoo | 国产精品久久久久久久久久久久冷 | 日批视频在线 | 黄色一区三区 | 四虎成人精品永久免费av | 亚洲永久精品视频 | 天天se天天cao天天干 | 中文字幕成人在线观看 | 国产一区二区三区午夜 | 国产精品手机在线 | 成人午夜免费剧场 | 成人羞羞免费 | 亚洲精品色 | 99精品一区二区三区 | 4438全国亚洲精品在线观看视频 | 97精产国品一二三产区在线 | 亚洲一区在线看 | 国产精品人人做人人爽人人添 | 天天爱天天 | 国产在线综合视频 | 久99久久| 四虎视频 | 天堂在线免费视频 | 99精品视频在线看 | 国产精品一区二区久久精品 | 人人搞人人爽 | 九九热在线观看视频 | 91人人澡人人爽人人精品 | 黄色一级在线观看 | wwwwww色| 韩日三级av | 色婷婷九月 | 久久精品一区二区三区国产主播 | 成年人免费av | 少妇搡bbbb搡bbb搡忠贞 | 91最新视频 | 成人黄色电影免费观看 | 五月天电影免费在线观看一区 | 最近免费观看的电影完整版 | 精品视频资源站 | 色黄www小说| 午夜三级毛片 | 色天天综合网 | 99久久国产免费看 | 在线日韩精品视频 | 久久国产精品99久久人人澡 | www在线观看视频 | 久久国产精品久久w女人spa | 波多野结衣一区二区 | 国产中文字幕网 | 天天做天天射 | 91手机视频在线 | 国产做a爱一级久久 | 国产婷婷vvvv激情久 | 伊人午夜 | 在线亚洲小视频 | 五月婷婷毛片 | 黄色网址中文字幕 | 国产原创在线 | 日韩高清激情 | 国产日产av| 欧美在线aaa| 日韩电影中文字幕在线观看 | 日本精品一区二区 | 亚洲a在线观看 | 国产一级片免费观看 | 97人人艹| 久久久久久网 | 亚洲精品高清在线 | 免费黄色看片 | 国产日产精品一区二区三区四区 | 日韩性xxx| 久草久视频 | 一区二区在线影院 | 日日摸日日添夜夜爽97 | 国产精品毛片一区视频播 | 精品久久五月天 | 麻豆视频免费入口 | 国产91影视 | 国产精品一区二区久久精品爱微奶 | 99热精品久久 | 最近高清中文在线字幕在线观看 | 国产高清视频免费观看 | 免费在线播放av电影 | 欧美日韩一区二区在线 | 波多野结衣理论片 | 亚洲精品国产精品国 | 香蕉视频免费在线播放 | 亚洲精品在线观看的 | 久草资源免费 | 美女久久精品 | 综合色站导航 | 久久影院精品 | 国产精品对白一区二区三区 | 亚洲精品美女在线观看 | av网站手机在线观看 | 日韩最新av在线 | 婷婷电影在线观看 | 91免费黄视频 | 青青久草在线 | 日日干激情五月 | 免费观看高清 | 日韩一级电影在线观看 | 久久午夜国产 | 91粉色视频 | 伊甸园av在线 | 九九热视频在线免费观看 | 国产精品久久嫩一区二区免费 | 国产精品嫩草69影院 | 免费在线中文字幕 | 免费日韩一区二区 | 精品国产精品一区二区夜夜嗨 | 午夜免费视频网站 | 精品国产一区二区三区久久久 | 亚洲精品在线观看网站 | 九九久久免费视频 | 亚洲区精品 | 国产一区二区播放 | 国产黄色视 | 91人人射 | 久久激情视频 久久 | 在线观看免费福利 | 丁香六月婷婷 | 久久久片 | 亚洲国产激情 | 99在线视频免费观看 | 亚洲欧洲久久久 | 国产小视频在线观看免费 | 日日日爽爽爽 | 色噜噜色噜噜 | 99精品视频在线观看视频 | 欧美日韩有码 | 日韩精品一区二区免费视频 | 成人h动漫精品一区二 | 久久人人添人人爽添人人88v | 超碰人人av | 日韩视频一 | 久久久久久免费网 | 国产精品毛片一区二区 | 天堂在线视频中文网 | 成人v| 香蕉视频最新网址 | 国产91aaa | 亚洲日韩中文字幕在线播放 | 亚洲免费av网站 | 国产精品永久在线观看 | 麻豆精品国产传媒 | 四虎影视成人永久免费观看视频 | 久久久网页 | 91成人免费在线 | www.国产在线| 欧美精彩视频在线观看 |