婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MSSQL分頁存儲過程完整示例(支持多表分頁存儲)

MSSQL分頁存儲過程完整示例(支持多表分頁存儲)

熱門標簽:400電話辦理泰安 電銷需要外呼系統嗎 千呼電話機器人可以試用嗎 我要地圖標注數量有限制嗎 互聯網電話外呼系統 安卡拉地圖標注app 電話機器人怎么代理商 零成本地圖標注賺錢 家庭農場地圖標注名稱怎樣起名

本文實例講述了MSSQL分頁存儲過程。分享給大家供大家參考,具體如下:

USE [DB_Common]
GO
/****** 對象: StoredProcedure [dbo].[Com_Pagination]  腳本日期: 03/09/2012 23:46:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/************************************************************
 *
 *Sql分頁存儲過程(支持多表分頁存儲)
 *
 *調用實例:
 EXEC Com_Pagination 100, --總記錄數
   0, --總頁數
    -- 'Person',--查詢的表名
   '
           Person p
           LEFT JOIN TE a
           ON a.PID=p.Id 
          ', --查詢的表名(這里為多表)
   'a.*', --查詢數據列
   'p.ID', --排列字段
   'p.ID', --分組字段
   2, --每頁記錄數
   1, --當前頁數
   0, --是否使用分組,否是
   ' a.pid=2'--查詢條件
 ************************************************************/
CREATE PROCEDURE [dbo].[Com_Pagination]
@TotalCount INT OUTPUT, --總記錄數
@TotalPage INT OUTPUT, --總頁數
@Table NVARCHAR(1000), --查詢的表名(可多表,例如:Person p LEFT JOIN TE a ON a.PID=p.Id )
@Column NVARCHAR(1000), --查詢的字段,可多列或者為*
@OrderColumn NVARCHAR(100), --排序字段
@GroupColumn NVARCHAR(150), --分組字段
@PageSize INT, --每頁記錄數
@CurrentPage INT, --當前頁數
@Group TINYINT, --是否使用分組,否是
@Condition NVARCHAR(4000) --查詢條件(注意:若這時候為多表查詢,這里也可以跟條件,例如:a.pid=2)
AS
DECLARE @PageCount   INT, --總頁數
    @strSql    NVARCHAR(4000), --主查詢語句
    @strTemp    NVARCHAR(2000), --臨時變量
    @strCount   NVARCHAR(1000), --統計語句
    @strOrderType NVARCHAR(1000) --排序語句
BEGIN
SET @PageCount = @PageSize * (@CurrentPage -1)
SET @strOrderType = ' ORDER BY ' + @OrderColumn + ' '
IF @Condition != ''
BEGIN
  IF @CurrentPage = 1
  BEGIN
    IF @GROUP = 1
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
        + ' WHERE ' + @Condition + ' GROUP BY ' + @GroupColumn
      SET @strCount = @strCount + ' SET @TotalCount=@@ROWCOUNT'
      SET @strSql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @Column 
        + ' FROM ' + @Table + ' WHERE ' + @Condition + 
        ' GROUP BY ' + @GroupColumn + ' ' + @strOrderType
    END
    ELSE
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
        + ' WHERE ' + @Condition
      SET @strSql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @Column 
        + ' FROM ' + @Table + ' WHERE ' + @Condition + ' ' + @strOrderType
    END
  END
  ELSE
  BEGIN
    IF @GROUP = 1
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
        + ' WHERE ' + @Condition + ' GROUP BY ' + @GroupColumn
      SET @strCount = @strCount + ' SET @TotalCount=@@ROWCOUNT'
      SET @strSql = 'SELECT * FROM (SELECT TOP (2000) ' + @Column 
        + ',ROW_NUMBER() OVER(' + @strOrderType + 
        ') AS NUM FROM ' + @Table + ' WHERE ' + @Condition + 
        ' GROUP BY ' + @GroupColumn + 
        ') AS T WHERE NUM BETWEEN ' + STR(@PageCount + 1) + 
        ' AND ' + STR(@PageCount + @PageSize)
    END
    ELSE
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
        + ' WHERE ' + @Condition
      SET @strSql = 'SELECT * FROM (SELECT TOP (2000) ' + @Column 
        + ',ROW_NUMBER() OVER(' + @strOrderType + 
        ') AS NUM FROM ' + @Table + ' WHERE ' + @Condition + 
        ') AS T WHERE NUM BETWEEN ' + STR(@PageCount + 1) + 
        ' AND ' + STR(@PageCount + @PageSize)
    END
  END
END
ELSE
  --沒有查詢條件
BEGIN
  IF @CurrentPage = 1
  BEGIN
    IF @GROUP = 1
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
        + ' GROUP BY ' + @GroupColumn
      SET @strCount = @strCount + 'SET @TotalCount=@@ROWCOUNT'
      SET @strSql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @Column 
        + ' FROM ' + @Table + ' GROUP BY ' + @GroupColumn + ' ' + 
        @strOrderType
    END
    ELSE
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
      SET @strSql = 'SELECT TOP ' + STR(@PageSize) + ' ' + @Column 
        + ' FROM ' + @Table + ' ' + @strOrderType
    END
  END
  ELSE
  BEGIN
    IF @GROUP = 1
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
        + ' GROUP BY ' + @GroupColumn
      SET @strCount = @strCount + 'SET @TotalCount=@@ROWCOUNT'
      SET @strSql = 'SELECT * FROM (SELECT TOP (2000) ' + @Column 
        + ',ROW_NUMBER() OVER(' + @strOrderType + 
        ') AS NUM FROM ' + @Table + ' GROUP BY ' + @GroupColumn + 
        ') AS T WHERE NUM BETWEEN ' + STR(@PageCount + 1) + 
        ' AND ' + STR(@PageCount + @PageSize)
    END
    ELSE
    BEGIN
      SET @strCount = 'SELECT @TotalCount=COUNT(*) FROM ' + @Table
      SET @strSql = 'SELECT * FROM (SELECT TOP (2000) ' + @Column 
        + ',ROW_NUMBER() OVER(' + @strOrderType + 
        ') AS NUM FROM ' + @Table + ') AS T WHERE NUM BETWEEN ' + 
        STR(@PageCount + 1) + ' AND ' + STR(@PageCount + @PageSize)
    END
  END
END
EXEC sp_executesql @strCount,
   N'@TotalCount INT OUTPUT',
   @TotalCount OUTPUT
IF @TotalCount > 2000
BEGIN
  SET @TotalCount = 2000
END
IF @TotalCount%@PageSize = 0
BEGIN
  SET @TotalPage = @TotalCount / @PageSize
END
ELSE
BEGIN
  SET @TotalPage = @TotalCount / @PageSize + 1
END
SET NOCOUNT ON
EXEC (@strSql)
END
SET NOCOUNT OFF
/**調用實例:
EXEC Com_Pagination 100, --總記錄數
   0, --總頁數
    -- 'Person',--查詢的表名
   '
           Person p
           LEFT JOIN TE a
           ON a.PID=p.Id 
          ', --查詢的表名(這里為多表)
   'a.*', --查詢數據列
   'p.ID', --排列字段
   'p.ID', --分組字段
   2, --每頁記錄數
   1, --當前頁數
   0, --是否使用分組,否是
   ' a.pid=2'--查詢條件
SELECT a.* 
FROM  Person p
    LEFT JOIN TE a
      ON a.PID = p.Id
WHERE a.pid = 2
**/

希望本文所述對大家SQL Server數據庫程序設計有所幫助。

您可能感興趣的文章:
  • MS sqlserver 2008數據庫轉換成2000版本的方法
  • MSSql簡單查詢出數據表中所有重復數據的方法
  • PHP封裝的MSSql操作類完整實例
  • 拯救你的數據 通過日志恢復MSSQL數據
  • MSSQL產生死鎖的根本原因及解決方法
  • SQL(MSSQLSERVER)服務啟動錯誤代碼3414的解決方法
  • PHP連接MSSQL方法匯總
  • ASP.NET和MSSQL高性能分頁實例代碼
  • 如何處理Python3.4 使用pymssql 亂碼問題
  • MS SQL 實現驗證字符串是否包含有大小寫字母的功能

標簽:新鄉 濱州 大同 來賓 東營 文山 池州 黃山

巨人網絡通訊聲明:本文標題《MSSQL分頁存儲過程完整示例(支持多表分頁存儲)》,本文關鍵詞  MSSQL,分頁,存儲,過程,完整,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MSSQL分頁存儲過程完整示例(支持多表分頁存儲)》相關的同類信息!
  • 本頁收集關于MSSQL分頁存儲過程完整示例(支持多表分頁存儲)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    免费在线观看一区| 久久国产剧场电影| 亚洲va欧美va人人爽| 波多野结衣欧美| 中文字幕一区二区三中文字幕| 国产成人免费视频网站| 日本一区二区视频在线观看| 国产毛片精品视频| 欧美韩国一区二区| 99久久伊人网影院| 一区二区三区免费在线观看| 欧美三级在线视频| 免费在线一区观看| 久久久精品国产免费观看同学| 成人午夜激情视频| 亚洲精品国产第一综合99久久 | 一区二区三区影院| 欧美日韩一区成人| 国产精品原创巨作av| 中文字幕一区二区三区精华液 | 欧美精品 国产精品| 精一区二区三区| 国产精品久久综合| 制服丝袜av成人在线看| 国产宾馆实践打屁股91| 亚洲在线观看免费| 久久影视一区二区| 欧美体内she精高潮| 国产专区欧美精品| 一区二区三区四区高清精品免费观看 | 日本不卡免费在线视频| 久久久一区二区三区捆绑**| 欧美专区在线观看一区| 国产成人精品综合在线观看 | 91久久国产最好的精华液| 美女脱光内衣内裤视频久久影院| 国产欧美日韩一区二区三区在线观看| 色94色欧美sute亚洲13| 国产又粗又猛又爽又黄91精品| 亚洲同性同志一二三专区| 精品国产麻豆免费人成网站| 一本一本久久a久久精品综合麻豆| 精品一区二区三区免费播放| 无吗不卡中文字幕| 一区二区三区在线免费播放| 国产精品国产三级国产普通话三级 | 亚洲午夜视频在线观看| 国产三级一区二区三区| 3d动漫精品啪啪一区二区竹菊 | 久久国产精品色| 亚洲老妇xxxxxx| 中文字幕在线观看不卡| 国产午夜亚洲精品不卡| 精品国产青草久久久久福利| 欧美日韩国产综合一区二区三区 | 欧美一二三区精品| 欧美狂野另类xxxxoooo| 欧美亚日韩国产aⅴ精品中极品| av影院午夜一区| 成人免费高清视频在线观看| 黑人巨大精品欧美黑白配亚洲| 香蕉影视欧美成人| 午夜精品久久久久久久| 一区二区国产视频| 亚洲一区二区3| 亚洲电影在线播放| 亚洲第一成年网| 日韩av电影一区| 亚洲一区在线观看视频| 亚洲第一在线综合网站| 日韩福利电影在线观看| 麻豆视频观看网址久久| 国内外成人在线视频| 国产福利一区在线观看| 成人高清免费在线播放| 一本色道**综合亚洲精品蜜桃冫| 色噜噜狠狠一区二区三区果冻| 在线欧美日韩精品| 欧美色老头old∨ideo| 日韩一卡二卡三卡四卡| 亚洲高清久久久| 亚洲v中文字幕| 毛片基地黄久久久久久天堂| 国产乱子伦视频一区二区三区| 国产一区二区精品久久99| 国产精品 日产精品 欧美精品| 不卡电影一区二区三区| 欧美日本一区二区三区| 亚洲精品在线一区二区| 中文字幕色av一区二区三区| 亚洲成在人线在线播放| 麻豆91小视频| www.成人在线| 欧美一激情一区二区三区| 久久婷婷久久一区二区三区| 樱花草国产18久久久久| 久久99久久精品| 福利一区福利二区| 欧美高清视频www夜色资源网| 日韩欧美国产精品一区| 亚洲天堂网中文字| 日韩国产欧美在线视频| 高清av一区二区| 精品视频在线免费看| 久久久美女毛片| 亚洲一区二区三区在线| 亚洲高清在线精品| 成人激情小说乱人伦| 欧美日韩免费不卡视频一区二区三区| 久久久久9999亚洲精品| 日本视频免费一区| 色综合久久久久网| 国产日产精品一区| 久久99精品国产麻豆婷婷| 欧美视频自拍偷拍| 亚洲视频你懂的| 国产99精品在线观看| 欧美一区二区三区精品| 国产精品精品国产色婷婷| 国产又粗又猛又爽又黄91精品| 欧美揉bbbbb揉bbbbb| 亚洲欧洲日韩一区二区三区| 国产中文一区二区三区| 欧美一区二区三区啪啪| 午夜精品久久久久久久久久 | 国产sm精品调教视频网站| 3d动漫精品啪啪| 亚洲二区在线观看| 91福利在线观看| 亚洲另类在线制服丝袜| 成人开心网精品视频| 精品国产sm最大网站免费看| 天堂av在线一区| 99国产精品国产精品毛片| 国产精品网曝门| 国产风韵犹存在线视精品| 久久久亚洲午夜电影| 欧洲人成人精品| 国产精品久久毛片a| 成人av网站在线观看免费| 欧美一区二区三区四区高清| 日韩黄色一级片| 欧美日韩精品一区二区三区四区| 亚洲成年人影院| 欧美日韩一级二级三级| 图片区小说区区亚洲影院| 欧美精品色综合| 九九**精品视频免费播放| 国产欧美日韩不卡免费| eeuss国产一区二区三区| 亚洲裸体在线观看| 欧美日韩免费在线视频| 男人的j进女人的j一区| 久久精品人人做人人爽人人| 成人精品国产福利| 亚洲欧美在线视频观看| 在线日韩一区二区| 久久电影网电视剧免费观看| 国产日韩欧美麻豆| 欧美视频三区在线播放| 老汉av免费一区二区三区| 国产三级久久久| 91成人在线观看喷潮| 日本v片在线高清不卡在线观看| 久久久久免费观看| 97精品国产97久久久久久久久久久久| 亚洲成a人片综合在线| 久久久久久9999| 色中色一区二区| 久久精品国产久精国产爱| 中文字幕在线不卡| 日韩欧美一区在线观看| 色综合久久九月婷婷色综合| 激情综合网最新| 亚洲国产精品久久久男人的天堂| 久久亚洲春色中文字幕久久久| 日本韩国一区二区三区视频| 久久久久久久国产精品影院| 色综合久久88色综合天天6| 精品一区二区在线免费观看| 一区二区三区日韩欧美精品| 久久九九影视网| 日韩亚洲欧美一区| 在线精品视频免费观看| 国产精品一区二区久久精品爱涩| 亚洲国产一区在线观看| 亚洲国产经典视频| 欧美一区二区黄| 欧美视频中文字幕| 国产98色在线|日韩| 久久99国产精品免费| 亚洲成av人**亚洲成av**| 亚洲黄色尤物视频| 国产精品进线69影院| 26uuu欧美日本| 精品伦理精品一区| 欧美一区二区三区四区视频| 欧美日韩免费在线视频| 日本韩国欧美在线| 91蜜桃免费观看视频|