日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁西西教程數(shù)據(jù)庫教程 → 實(shí)現(xiàn)千萬級數(shù)據(jù)的分頁的通用存儲過程

      實(shí)現(xiàn)千萬級數(shù)據(jù)的分頁的通用存儲過程

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:caojinqin時(shí)間:2010/3/9 19:38:22字體大小:A-A+

      作者:caojinqin點(diǎn)擊:346次評論:0次標(biāo)簽: 分頁

      • 類型:濾鏡插件大。3.7M語言:英文 評分:5.0
      • 標(biāo)簽:
      立即下載

      01 set ANSI_NULLS ON

      02 set QUOTED_IDENTIFIER ON

      03 go

      04

      05 /*

      06 功能描述: 通用分頁顯示查詢

      07 如果有自增標(biāo)識字段,在@strGetFields中不要加入此字段信息,

      08 如果非要加入的話,要 (fldName + 0) AS fldName 這樣處理;

      09 輸入?yún)?shù):

      10 @tblName: 表名

      11 @strGetFields: 需要返回的列 '*':返回所以列信息

      12 @PageSize: 頁尺寸

      13 @PageIndex: 頁碼

      14 @doCount: 返回記錄總數(shù), 非 0 值則返回

      15 @strOrderBy: 排序字段信息,(注意: 不要加 ORDER BY)

      16 格式: Field1 DESC, Field2 ASC

      17 @strWhere: 查詢條件,(注意: 不要加 WHERE)

      18 輸出參數(shù): @RecordCount: 記錄總數(shù)

      19 作 者: Nestcn

      20 創(chuàng)建時(shí)間: 2010-03-09

      21 更改紀(jì)錄:

      22 */

      23 ALTER PROCEDURE [dbo].[MyPagination]

      24 (

      25 @tblName varchar(255),

      26 @strGetFields varchar(1000) = '*',

      27 @PageSize int = 10,

      28 @PageIndex int = 1,

      29 @doCount bit = 0,

      30 @strOrderBy varchar(500) = '',

      31 @strWhere varchar(1500) = '',

      32 @RecordCount int output

      33 )

      34 AS

      35 -- 主語句

      36 DECLARE @strSQL varchar(5000) SET @strSQL = ''

      37 -- 排序變量

      38 DECLARE @strOrder varchar(400) SET @strOrder = ''

      39

      40 SET @RecordCount = 0

      41 --如果@doCount傳遞過來的不是0,就執(zhí)行總數(shù)統(tǒng)計(jì)

      42 IF (@doCount != 0)

      43 BEGIN

      44 DECLARE @sWhere varchar(2000)

      45

      46 SET @sWhere = ''

      47 IF (@strWhere != '')

      48 SET @sWhere = ' WHERE ' + @strWhere

      49

      50 SET @strSQL = 'if exists (select * from dbo.sysobjects where id = object_id(''[dbo].[tmpTable]'') and OBJECTPROPERTY(id, ''IsUserTable'') = 1) '

      51 SET @strSQL = @strSQL + ' UPDATE tmpTable SET Total = (SELECT COUNT(*) FROM [' + @tblName + '] ' + @sWhere + ') '

      52 SET @strSQL = @strSQL + ' ELSE SELECT COUNT(*) AS Total INTO tmpTable FROM [' + @tblName + '] ' + @sWhere

      53

      54 EXEC (@strSQL)

      55

      56 SELECT @RecordCount=Total FROM tmpTable

      57

      58 --刪除總數(shù)統(tǒng)計(jì)臨時(shí)表

      59 EXEC ('DROP TABLE tmpTable')

      60 END

      61

      62 PRINT @RecordCount

      63

      64 --排序字段信息

      65 IF (@strOrderBy != '')

      66 SET @strOrder = ' ORDER BY ' + @strOrderBy

      67 --如果是第一頁就執(zhí)行以上代碼,這樣會加快執(zhí)行速度

      68 IF (@PageIndex = 1)

      69 BEGIN

      70 IF (@strWhere != '')

      71 SET @strSQL = 'SELECT TOP ' + str(@PageSize) + ' ' + @strGetFields + ' FROM [' + @tblName + '] WHERE ' + @strWhere + @strOrder

      72 ELSE

      73 SET @strSQL = 'SELECT TOP ' + str(@PageSize) + ' ' + @strGetFields + ' FROM ['+ @tblName + '] '+ @strOrder

      74 END

      75 ELSE

      76 BEGIN

      77 --為搜索表建立自動編號 保存到臨時(shí)表中

      78 SET @strSQL = 'SELECT TOP ' + str(@PageIndex*@PageSize) + ' IDENTITY(int,1,1) AS IID, ' + @strGetFields + ' INTO #tmpTable FROM [' + @tblName + ']'

      79 IF (@strWhere != '')

      80 SET @strSQL = @strSQL + ' WHERE ' + @strWhere + @strOrder

      81 ELSE

      82 SET @strSQL = @strSQL + @strOrder

      83

      84 --以下代碼賦予了@strSQL以真正執(zhí)行的SQL代碼

      85 SET @strSQL = @strSQL + ' SELECT ' + @strGetFields + ' FROM #tmpTable WHERE IID > ' + str((@PageIndex-1)*@PageSize) + ' DROP TABLE #tmpTable'

      86 END

      87

      88 PRINT @strSQL

      89

      90 --執(zhí)行分頁查詢

      91 EXEC (@strSQL)

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)