欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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ù)據(jù)
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

相關(guān)文章

  • 詳解SQL Server的簡單查詢語句

    詳解SQL Server的簡單查詢語句

    本篇文章詳細(xì)講解了SQL ServerSQL的簡單查詢語句。圖文并茂,方便大家理解與學(xué)習(xí)。有興趣的朋友可以看下
    2016-12-12
  • 揭秘SQL Server 2014有哪些新特性(3)-可更新列存儲聚集索引

    揭秘SQL Server 2014有哪些新特性(3)-可更新列存儲聚集索引

    可更新的列存儲索引作為SQL Server 2014的一個關(guān)鍵功能之一,在提升數(shù)據(jù)庫的查詢性能方面貢獻(xiàn)非常突出。據(jù)微軟統(tǒng)計,在面向OLAP查詢統(tǒng)計類系統(tǒng)中,相比其他SQL傳統(tǒng)版本的數(shù)據(jù)庫,報表查詢的性能最大可提升上十倍。
    2014-08-08
  • SQL語句導(dǎo)入導(dǎo)出大全

    SQL語句導(dǎo)入導(dǎo)出大全

    SQL語句導(dǎo)入導(dǎo)出大全...
    2006-11-11
  • SQLServer 數(shù)據(jù)庫中如何保持?jǐn)?shù)據(jù)一致性

    SQLServer 數(shù)據(jù)庫中如何保持?jǐn)?shù)據(jù)一致性

    復(fù)制是SQLServer數(shù)據(jù)庫中保持?jǐn)?shù)據(jù)一致性的一種手段。
    2009-06-06
  • Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件

    Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件

    這篇文章主要介紹了Windows環(huán)境下實現(xiàn)批量執(zhí)行Sql文件的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • SQL 提權(quán) 常用命令

    SQL 提權(quán) 常用命令

    SQL 提權(quán) 常用命令,大家可以考慮下將sqlserver的服務(wù)運行權(quán)限設(shè)置為普通用戶,即可防止下面的提權(quán)。
    2009-07-07
  • SQL Server的死鎖說明

    SQL Server的死鎖說明

    死鎖是導(dǎo)致數(shù)據(jù)庫中的競爭性并發(fā)鎖,通常在多步驟事務(wù)中。當(dāng)兩個或多個任務(wù)永久相互阻止時,每個任務(wù)都鎖定了其他任務(wù)嘗試鎖定的資源,就會發(fā)生死鎖。本文主要介紹了SQL Server的死鎖,感興趣的朋友可以參考閱讀
    2023-04-04
  • 將表數(shù)據(jù)生成Insert腳本 比較好用的生成插入語句的SQL腳本

    將表數(shù)據(jù)生成Insert腳本 比較好用的生成插入語句的SQL腳本

    比較好用的生成插入語句的SQL腳本 將表數(shù)據(jù)生成Insert腳本
    2010-05-05
  • SQL?Server導(dǎo)入.mdf方法的錯誤處理方法

    SQL?Server導(dǎo)入.mdf方法的錯誤處理方法

    導(dǎo)入mdf文件和ldf文件到數(shù)據(jù)庫是網(wǎng)站搬家或者是初學(xué)者學(xué)習(xí)源碼是必要的一步,下面這篇文章主要給大家介紹了關(guān)于SQL?Server導(dǎo)入.mdf方法的錯誤處理方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • SQLSERVER的非聚集索引結(jié)構(gòu)深度理解

    SQLSERVER的非聚集索引結(jié)構(gòu)深度理解

    非聚集索引也是堆結(jié)構(gòu)?其實SQLSERVER有幾種頁面類型(數(shù)據(jù)都使用一頁一頁來存儲,就像Windows的內(nèi)存也是使用頁面來組織的)感興趣的朋友可以了解下,希望本文可以增加你們對非聚集索引結(jié)構(gòu)的理解
    2013-01-01

最新評論