婷婷综合国产,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
    av一区二区三区四区| 成人免费视频网站在线观看| 精品乱人伦小说| 精品视频在线免费观看| 老司机免费视频一区二区| 亚洲视频一区在线| 国产日韩在线不卡| 3d动漫精品啪啪一区二区竹菊 | 成人av午夜电影| 天天色综合天天| 一区二区三区免费观看| 亚洲第一会所有码转帖| 国产一区二区三区在线观看精品| 国产精品乡下勾搭老头1| 成人免费看的视频| 成人高清视频在线| 99精品视频中文字幕| 91精品国产综合久久久久久漫画 | 婷婷丁香久久五月婷婷| 日韩一级高清毛片| 91精品国产综合久久小美女| 国产精品视频一二三区| 亚洲a一区二区| 久久91精品国产91久久小草| 国产一区二区三区黄视频| 国内精品国产三级国产a久久| 一本到不卡免费一区二区| 国产精品99久久久久久久女警| 欧美日韩一区精品| 国产精品每日更新在线播放网址| 亚洲国产视频在线| 九九九久久久精品| 国产一区二区电影| 成人一区在线观看| 国产成人高清在线| 青青草一区二区三区| 懂色av噜噜一区二区三区av| 欧美精品aⅴ在线视频| 91精品国产综合久久福利软件| 欧美一区二区美女| 亚洲女同一区二区| 国产乱人伦偷精品视频不卡| 一片黄亚洲嫩模| av亚洲产国偷v产偷v自拍| 欧美影片第一页| 国产专区欧美精品| 亚洲精品大片www| 毛片av一区二区| 在线观看av不卡| 欧美一区二区三区不卡| 午夜精品福利一区二区三区蜜桃| 亚洲美女视频在线| 蜜芽一区二区三区| 欧美一级精品在线| 在线视频国内自拍亚洲视频| 青青草国产精品亚洲专区无| 99视频在线精品| 欧美一区二区视频网站| 香蕉成人伊视频在线观看| 丁香五精品蜜臀久久久久99网站| 69久久99精品久久久久婷婷| 欧美电视剧免费全集观看| 91麻豆精品国产91久久久久久久久| 99久久伊人网影院| 精品国产欧美一区二区| 国产精品欧美极品| 男人操女人的视频在线观看欧美| 国产电影精品久久禁18| av激情亚洲男人天堂| 日韩免费高清视频| 欧美日韩一本到| 性欧美大战久久久久久久久| 精品一区二区精品| 国产午夜精品久久| 久88久久88久久久| 99久久久无码国产精品| 亚洲欧美视频在线观看视频| 国产精品美女久久久久久久久| 亚洲成人激情社区| 欧美影视一区二区三区| 亚洲第一在线综合网站| 欧美日韩国产片| 91精品国产一区二区人妖| 一区二区三区四区乱视频| 国产精品青草综合久久久久99| 欧美日韩免费电影| 国产午夜久久久久| 国产精品美女久久久久久久久久久| 国产精品欧美一区喷水| 丰满亚洲少妇av| 91麻豆精品秘密| 天堂成人国产精品一区| 亚洲精品一线二线三线| 樱桃视频在线观看一区| 亚洲精品高清在线| 欧美日韩视频第一区| 久久久精品tv| 亚洲成在线观看| 一本大道久久a久久精二百| 久久精品欧美一区二区三区不卡| 一本色道久久综合亚洲91| 欧美videos大乳护士334| 精品一区二区免费在线观看| 久久综合九色综合97_久久久| 精品国产成人在线影院| 国产成人精品免费| 久久99精品久久久| 精品毛片乱码1区2区3区| 日本一区二区免费在线| 91丨porny丨户外露出| 色综合天天综合网国产成人综合天| 日韩三级伦理片妻子的秘密按摩| 欧美精品一区二区三区在线| 国产婷婷精品av在线| 成人av网在线| 91在线你懂得| 亚洲美女一区二区三区| 色呦呦日韩精品| 一区二区久久久| 久久av资源网| 日本一区免费视频| ●精品国产综合乱码久久久久| 国产不卡视频在线观看| 成人精品国产一区二区4080 | 欧美性xxxxxx少妇| 日韩欧美一级二级三级久久久| 亚洲成a人片在线观看中文| 日日摸夜夜添夜夜添精品视频 | 亚洲欧美日韩国产中文在线| 欧美日韩亚洲高清一区二区| 国产精品久久网站| 日韩视频免费观看高清完整版在线观看 | 国产91丝袜在线播放九色| 精品99久久久久久| 波多野结衣的一区二区三区| 成人免费高清在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品丝袜黑色高跟| 日韩精品一区二区在线| 亚洲综合色区另类av| 国产精品成人一区二区三区夜夜夜 | 亚洲高清一区二区三区| 欧美色图激情小说| 国产精品麻豆久久久| 国产在线乱码一区二区三区| 日韩视频不卡中文| 日韩欧美一级二级| 香蕉av福利精品导航| 青青草成人在线观看| 国产精品久久久久9999吃药| aaa欧美色吧激情视频| 日本一区二区久久| 韩国女主播成人在线| 亚洲一区免费观看| 26uuu另类欧美| 久久久综合九色合综国产精品| 久久综合精品国产一区二区三区 | 久久成人免费日本黄色| 激情文学综合插| 亚洲精品在线观看视频| 偷拍自拍另类欧美| 亚洲国产一区二区在线播放| 欧美一区二区三区成人| 国产三区在线成人av| 精品亚洲aⅴ乱码一区二区三区| 国产在线视频不卡二| 国产一区二三区| 成人丝袜高跟foot| 成人app软件下载大全免费| 成人成人成人在线视频| 色域天天综合网| 91在线视频在线| 日韩视频一区二区三区| 欧美一级片在线| 88在线观看91蜜桃国自产| 国产亚洲综合在线| 日韩精品一区二区三区视频播放| a4yy欧美一区二区三区| 欧美色大人视频| 国产日韩欧美高清在线| 精品福利一二区| 亚洲国产精品综合小说图片区| 成人app在线观看| 91精品欧美综合在线观看最新| 欧美国产精品中文字幕| 日韩三级av在线播放| 欧美大白屁股肥臀xxxxxx| 亚洲三级电影全部在线观看高清| 亚洲欧美综合另类在线卡通| 日韩视频永久免费| 亚洲最色的网站| 国产激情一区二区三区| 日本久久一区二区| 欧美高清你懂得| 亚洲色图视频网站| 久久精品国产一区二区三区免费看| 91在线观看美女| 色婷婷久久综合| 精品剧情v国产在线观看在线| 国产精品视频一二|