国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:52:59
字體:
來源:轉載
供稿:網友

話不多說,請看代碼

------------------------------------------作者:張欣宇-----時間:2013-06-28-----簡介:根據參數和條件分頁查詢-------------------------------------Create proc [dbo].[Up_PagingQueryByParameter]( ----- 表名或能查詢到結果的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), ----- 每頁顯示數; 可空默認20 @PageShows int, ----- 當前頁數; 可空默認1 @CurrentPage int, ----- 0為分頁查詢;其他為查詢全部; 可空默認0 @IsPaging int)asbegin ----- 參數檢查及規范 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); -- 開始條數 declare @StartIndex int; -- 結束條數 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); ----- 總數查詢 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); endend

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持錯新站長站!

您可能感興趣的文章:

五種SQL Server分頁存儲過程的方法及性能比較SQL Server 分頁查詢通用存儲過程(只做分頁查詢用)sqlserver2005利用臨時表和@@RowCount提高分頁查詢存儲過程性能示例分享深入sql server 2005 萬能分頁存儲過程的詳解基于Sql Server通用分頁存儲過程的解決方法mssql 高效的分頁存儲過程分享SQL Server 2005通用分頁存儲過程及多表聯接應用MSSQL MySQL 數據庫分頁(存儲過程)三種SQL分頁查詢的存儲過程代碼SQL通用存儲過程分頁,支持多表聯合
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大埔区| 定州市| 屏边| 双流县| 富蕴县| 怀安县| 阳原县| 广元市| 盖州市| 芦溪县| 郴州市| 体育| 贡觉县| 岱山县| 抚顺市| 黔西县| 庆元县| 来宾市| 新竹县| 饶河县| 察雅县| 石门县| 达孜县| 马尔康县| 德庆县| 大渡口区| 古田县| 綦江县| 砀山县| 乐亭县| 工布江达县| 商南县| 桐庐县| 达拉特旗| 林口县| 亳州市| 蒙阴县| 洪泽县| 高淳县| 济源市| 无棣县|