sql2005 存儲(chǔ)過程分頁(yè)示例代碼
更新時(shí)間:2010年03月05日 22:18:12 作者:
sql2005分頁(yè)存儲(chǔ)過程示例
復(fù)制代碼 代碼如下:
--分頁(yè)存儲(chǔ)過程示例
Alter PROCEDURE [dbo].[JH_PageDemo]
@pageSize int = 9000000000,
@pageIndex int = 1 ,
@orderBy Nvarchar(200) = '' -- 不加order By
AS
SET NOCOUNT ON
--聲明變量
DECLARE @select VARCHAR(3048);
DECLARE @from VARCHAR(512);
DECLARE @RowNumber VARCHAR(256);
DECLARE @condition nVARCHAR(3990);
DECLARE @groupBy varchar(50);
DECLARE @sql VARCHAR(3998);
DECLARE @RowStartIndex INT;
DECLARE @RowEndIndex INT;
BEGIN
SET NOCOUNT on
IF @orderBy <> ''
Set @orderBy = ' ORDER BY ' + @orderBy;
else
Set @orderBy = ' ORDER BY Userid ' ;
SET @select = ' select userid,username ,';
--設(shè)置排序語句
SET @RowNumber ='ROW_NUMBER() OVER (' + @orderBy + ' ) as RowNumber ';
SET @select = @select + @RowNumber;
SET @from = ' FROM users ';
--設(shè)置條件語句@GULevel
SET @condition = ' WHERE 1=1 ';
SET @condition = @condition + 'AND userid > 0';
--分組語句
SET @groupBy = ' GROUP BY USerID '
SET @RowStartIndex = ( @pageIndex -1) * @pageSize + 1
SET @RowEndIndex = @pageIndex * @pageSize ;
--查詢結(jié)果
SET @sql = 'SET NOCOUNT ON;
WITH ResultTable AS ( ' + @select + @from + @condition +')
SELECT * FROM ResultTable WHERE RowNumber between ' +
Cast(@RowStartIndex AS VARCHAR(32)) + ' AND ' + CAST(@RowEndIndex AS VARCHAR(32))
+ ' ; SELECT count(*) as totalcount ' + @from + @condition + ' '
--PRINT @sql;
EXEC(@sql);
END
相關(guān)文章
SQL?server數(shù)據(jù)庫(kù)declare和set用法技巧小結(jié)
這篇文章主要給大家介紹了關(guān)于SQL?server數(shù)據(jù)庫(kù)declare和set用法技巧的相關(guān)資料,在SQL Server中,DECLARE用于聲明變量和存儲(chǔ)過程中的參數(shù),文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08SQL Server2019數(shù)據(jù)庫(kù)備份與還原腳本(批量備份)
本文主要介紹了SQL Server2019數(shù)據(jù)庫(kù)備份與還原腳本,數(shù)據(jù)庫(kù)可批量備份,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11設(shè)定sql server定期自動(dòng)備份數(shù)據(jù)庫(kù)
設(shè)定sql server定期自動(dòng)備份數(shù)據(jù)庫(kù)...2007-01-01sql server 獲取系統(tǒng)時(shí)間的方法
Sql Server 中一個(gè)非常強(qiáng)大的日期格式化函數(shù),獲得當(dāng)前系統(tǒng)時(shí)間,GETDATE2012-11-11SQL學(xué)習(xí)筆記一SQL基礎(chǔ)知識(shí)
剛開始接觸sqlserver的朋友可以參考下。雖然文字比較短,但內(nèi)容都是經(jīng)驗(yàn)之談。2011-08-08