最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一個基于ROW_NUMBER()的通用分頁存儲過程代碼

 更新時間:2010年10月22日 16:43:34   作者:  
項目中有很多小型的表(數(shù)據量不大),都需要實現(xiàn)分頁查詢,因此實現(xiàn)了一個通用的分頁。
建立好如下的存儲過程,以后要分頁,直接調用改存儲過程就可以了。
注意:數(shù)據量大、性能要求高的,請個性化處理。
復制代碼 代碼如下:

ALTER PROCEDURE [dbo].[COMMON_PROCEDURE_SelectWithPage]
@Sql VARCHAR(5000),
@CurrentPageNo INT,
@PageSize INT,
@TotalNum INT OUTPUT
AS
SET NOCOUNT ON
DECLARE @SqlCmd VARCHAR(5000)
------------------------------------------ --查詢數(shù)據
SET @SqlCmd = 'SELECT * FROM (' + @Sql + ') A WHERE RowIndex BETWEEN ' + CONVERT(VARCHAR,(@CurrentPageNo-1) * @PageSize + 1) + ' AND ' + CONVERT(VARCHAR,@CurrentPageNo * @PageSize)
EXEC(@SqlCmd) PRINT (@SqlCmd)
------------------------------------------ --求記錄總數(shù)
IF @TotalNum = -1
BEGIN
CREATE TABLE #Temp1(num INT)
INSERT INTO #Temp1
EXEC('SELECT count(*) FROM (' + @Sql + ') A')
SELECT @TotalNum=(SELECT * FROM #Temp1)
DROP TABLE #Temp1
END

用法很簡單,但必須在傳入的SQL中使用ROW_NUMBER() OVER(...) AS RowIndex :
DECLARE @Sql VARCHAR(5000)
DECLARE @CurrentPageNo INT
DECLARE @PageSize INT
DECLARE @TotalNum INT

SET @CurrentPageNo = 100
SET @PageSize = 10
SET @TotalNum = -1
SET @Sql = ' SELECT *, ROW_NUMBER() OVER (ORDER BY 排序字段) AS RowIndex FROM 表名 A WITH (NOLOCK) '

EXEC [dbo].[COMMON_PROCEDURE_SelectWithPage] @Sql,@CurrentPageNo,@PageSize,@TotalNum OUTPUT

SELECT @TotalNum

相關文章

  • SqlServer中的日期與時間函數(shù)

    SqlServer中的日期與時間函數(shù)

    SqlServer中的日期與時間函數(shù),需要的朋友可以參考下。
    2011-10-10
  • SQL Server約束增強的兩點建議

    SQL Server約束增強的兩點建議

    我們可以在CHECK的約束條件中加入任何邏輯表達式,而目前所有外鍵只能用來驗證一個或多個列的值是否相等。
    2009-05-05
  • 設置密碼保護的SqlServer數(shù)據庫備份文件與恢復文件的方法

    設置密碼保護的SqlServer數(shù)據庫備份文件與恢復文件的方法

    設置密碼保護的SqlServer數(shù)據庫備份文件與恢復文件的方法,需要的朋友可以參考下。
    2011-10-10
  • T-SQL篇如何防止SQL注入的解決方法

    T-SQL篇如何防止SQL注入的解決方法

    所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串,欺騙服務器執(zhí)行惡意的SQL命令,對于這種行為,我們應該如何制止呢?本文將介紹一種方法,希望可以幫助有需要的朋友
    2012-11-11
  • SQL Server數(shù)據庫開發(fā)的二十一條法則

    SQL Server數(shù)據庫開發(fā)的二十一條法則

    如果你正在負責一個基于SQL Server的項目,或者你剛剛接觸SQL Server,你都有可能要面臨一些數(shù)據庫性能的問題,這篇文章會為你提供一些有用的指導(其中大多數(shù)也可以用于其它的DBMS)。
    2010-06-06
  • 解析React?中的Virtual?DOM

    解析React?中的Virtual?DOM

    React在前端界一直很流行,而且學起來也不是很難,只需要學會JSX、理解State和Props,然后就可以愉快的玩耍了,但想要成為React的專家你還需要對React有一些更深入的理解,對React??Virtual?DOM相關知識感興趣的朋友一起看看吧
    2022-01-01
  • SQLServer 清理日志的實現(xiàn)

    SQLServer 清理日志的實現(xiàn)

    本文主要介紹了SQLServer 清理日志的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • SQL?Server中JSON函數(shù)的用法詳解

    SQL?Server中JSON函數(shù)的用法詳解

    本文詳細講解了SQL?Server中JSON函數(shù)的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • SQL?Server?2008?R2完美卸載教程(親測有用)

    SQL?Server?2008?R2完美卸載教程(親測有用)

    SQL Server 2008 R2是一款非常強大的數(shù)據庫管理系統(tǒng),但在某些情況下可能需要卸載它,下面這篇文章主要給大家介紹了關于SQL?Server?2008?R2完美卸載的相關資料,需要的朋友可以參考下
    2023-11-11
  • SQL Server 2008 清空刪除日志文件(瞬間縮小日志到幾M)

    SQL Server 2008 清空刪除日志文件(瞬間縮小日志到幾M)

    sql 在使用中每次查詢都會生成日志,但是如果你長久不去清理,可能整個硬都堆滿哦,筆者就遇到這樣的情況,直接網站后臺都進不去了。下面我們一起來學習一下如何清理這個日志吧
    2018-10-10

最新評論

邳州市| 政和县| 盐亭县| 双鸭山市| 岳池县| 郎溪县| 永善县| 东丰县| 百色市| 大竹县| 汉源县| 临清市| 平武县| 鄂托克前旗| 富民县| 刚察县| 丹凤县| 名山县| 林甸县| 元氏县| 岫岩| 英吉沙县| 阿合奇县| 方正县| 崇左市| 龙泉市| 习水县| 广宁县| 桓仁| 鸡泽县| 华安县| 巫溪县| 沽源县| 康平县| 芜湖县| 泗水县| 静海县| 长泰县| 新竹市| 花莲市| 泰来县|