欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年12月25日 14:16:56   作者:欣宇  
本文主要分享了SQL分頁查詢存儲過程的具體實例代碼,具有一定的參考價值,需要的朋友一起來看下吧

話不多說,請看代碼

-------------------------------------
-----作者:張欣宇
-----時間:2013-06-28
-----簡介:根據(jù)參數(shù)和條件分頁查詢
-------------------------------------
Create proc [dbo].[Up_PagingQueryByParameter]
(
 ----- 表名或能查詢到結(jié)果的SQL語句{SQL語句左右必須有括號例:(select * from tbl1)}
 @TableName varchar(max),
 ----- 要查詢的列名語句; 可空默認*
 @ColumnName varchar(5000),
 ----- 用來排序的列; 不可為空
 @OrderByColumnName varchar(50),
 ----- 排序desc(倒序5.4.3.2.1)或asc(正序1.2.3.4.5); 可空默認asc
 @ShrtBy varchar(4),
 ----- Where條件; 可空默認1=1
 @Where varchar(5000),
 ----- 每頁顯示數(shù); 可空默認20
 @PageShows int,
 ----- 當前頁數(shù); 可空默認1
 @CurrentPage int,
 ----- 0為分頁查詢;其他為查詢?nèi)? 可空默認0
 @IsPaging int
)
as
begin
 ----- 參數(shù)檢查及規(guī)范
 if isnull(@Where,N'')=N'' set @Where = N'1=1';
 if isnull(@ColumnName,N'')=N'' set @ColumnName = N'*';
 if isnull(@PageShows,0)<1 set @PageShows = 20;
 if isnull(@CurrentPage,0)<1 set @CurrentPage = 1;
 if isnull(@ShrtBy,N'')=N'' set @ShrtBy = 'asc';
 if isnull(@IsPaging,0)<>1 set @IsPaging = 0;
 ----- 定義
 -- 拼接的SQL語句
 declare @SqlStr nvarchar(max);
 declare @SqlWithStr nvarchar(max);
 -- 開始條數(shù)
 declare @StartIndex int;
 -- 結(jié)束條數(shù)
 declare @EndIndex int;
 ----- 賦值
 set @StartIndex = (@CurrentPage-1)*@PageShows+1;
 print(@CurrentPage);
 print(@PageShows);
 print(@StartIndex);
 set @EndIndex = @CurrentPage*@PageShows;
 print(@EndIndex);
 set @OrderByColumnName=@OrderByColumnName+' '+@ShrtBy;
 ----- 分頁查詢
 set @SqlWithStr = N'with temp as(select ROW_NUMBER() over(order by '+@OrderByColumnName+N') as RowNumber,'+@ColumnName+N' from '+@TableName+N' as tableName where '+@Where+N')';
 if(@IsPaging = 0)
 begin
 set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp where temp.RowNumber between '+convert(nvarchar(20),@StartIndex)+N' and '+convert(nvarchar(20),@EndIndex)+N'';
 ---- print(@SqlStr);
 exec(@SqlStr);
 ----- 總數(shù)查詢
 set @SqlStr = @SqlWithStr + N' select count(*) as TotalNumber from temp';
 ---- print(@SqlStr);
 exec(@SqlStr);
 end
 else
 begin
 set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp';
 ---- print(@SqlStr);
 exec(@SqlStr);
 end
end

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • MySQL數(shù)據(jù)庫安全之防止撰改的方法

    MySQL數(shù)據(jù)庫安全之防止撰改的方法

    這篇文章主要介紹了MySQL數(shù)據(jù)庫防止撰改的方法,需要的朋友可以參考下
    2014-07-07
  • MYSQL初學(xué)者命令行使用指南

    MYSQL初學(xué)者命令行使用指南

    其實MYSQL的對數(shù)據(jù)庫的操作與其它的SQL類數(shù)據(jù)庫大同小異,您最好找本將SQL的書看看。我在這里只介紹一些基本的,其實我也就只懂這些了,呵呵。最好的MYSQL教程還是“晏子“譯的“MYSQL中文參考手冊“不僅免費每個相關(guān)網(wǎng)站都有下載,而且它是最權(quán)威的。
    2008-06-06
  • MySQL8.0.23版本的root密碼重置最優(yōu)解法

    MySQL8.0.23版本的root密碼重置最優(yōu)解法

    這篇文章主要介紹了MySQL8.0.23版本的root密碼重置最優(yōu)解法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 解讀數(shù)據(jù)庫的嵌套查詢的性能問題

    解讀數(shù)據(jù)庫的嵌套查詢的性能問題

    這篇文章主要介紹了解讀數(shù)據(jù)庫的嵌套查詢的性能問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Mysql常見bug及解決方案超詳細講解

    Mysql常見bug及解決方案超詳細講解

    在使用MySQL的過程中,相比大家都踩過不少坑,下面這篇文章主要給大家介紹了關(guān)于Mysql常見bug及解決方案超詳細講解的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • mysql如何配置secure_file_priv

    mysql如何配置secure_file_priv

    這篇文章主要介紹了mysql如何配置secure_file_priv問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL 主鍵與索引的聯(lián)系與區(qū)別分析

    MySQL 主鍵與索引的聯(lián)系與區(qū)別分析

    這篇文章主要介紹MySQL 主鍵與索引的聯(lián)系與區(qū)別,使用mysql的朋友可以看下
    2013-02-02
  • MySQL中使用group by 是總是出現(xiàn)1055的錯誤(推薦)

    MySQL中使用group by 是總是出現(xiàn)1055的錯誤(推薦)

    這篇文章主要介紹了MySQL中使用group by 是總是出現(xiàn)1055的錯誤,小編通過查閱相關(guān)資料才把問題解決,今天小編記錄下分享到腳本之家平臺,需要的朋友可以參考下
    2020-02-02
  • CentOS 6.5 i386 安裝MySQL 5.7.18詳細教程

    CentOS 6.5 i386 安裝MySQL 5.7.18詳細教程

    這篇文章主要介紹了CentOS 6.5 i386 安裝MySQL 5.7.18詳細教程,需要的朋友可以參考下
    2017-04-04
  • MySQL表的增刪改查基礎(chǔ)教程

    MySQL表的增刪改查基礎(chǔ)教程

    這篇文章主要給大家介紹了關(guān)于MySQL表的增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論