成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對SQL Server中任意select語句分頁的存儲過程

數據庫 SQL Server
對SQL Server中任意select語句,如何才能分頁呢?下面將為您建立一個通用的存儲過程,對SQL Server中任意select語句進行分頁,供您參考。

對SQL Server中任意select語句,如何才能分頁呢?下面將為您建立一個通用的存儲過程,對SQL Server中任意select語句進行分頁,供您參考。

CREATE   PROCEDURE   [dbo].[usp_ResultWithPage]

@fields_Type varchar(1000),     --字段列表(帶類型),用于@t表變量的字段聲明,如:PhotoID int,UserID int,PhotoTitle nvarchar(50)
@fieldsInT varchar(500),     --字段列表(不帶類型),用于分頁部分讀取@t表變量的字段,也可使用*代替,但性能會下降,如:PhotoID ,UserID ,PhotoTitle
@selectSrting varchar(2000),     --向@t表變量中讀取記錄的Select語句,如:SELECT PhotoID ,UserID ,PhotoTitle FROM Photo_Basic

@result_OrderBy varchar(200),     --對分頁結果進行排序的字段,如:升序'PhotoID ASC'、降序'PhotoID DESC'
@pageSize int,     --頁尺寸,0表示返回所有行
@currentPage int,     --當前頁,首頁為1
@IsReCount bit     -- 非0值則返回記錄總數

AS
BEGIN

---------------得到表變量@t-------------------------
DECLARE   @strSql   varchar(2000)

SET @strSql = 'DECLARE @t TABLE(' + @fields_Type + ');'
SET @strSql = @strSql + 'INSERT  INTO @t ' + @selectSrting + ';'

--顯示表變量的內容
--SET @strSql = @strSql + 'SELECT ' + @fieldsInT + ' FROM @t;'

----------進行分頁------------------------------------

IF   @pageSize   =   0
    SET   @strSql  = @strSql +  'SELECT '   +   @fieldsInT  + ' FROM @t ;'
ELSE
    IF   @currentPage   =   1
        SET   @strSql   = @strSql +     'SELECT TOP( ' + Str(@pageSize) + ') ' + @fieldsInT + ' FROM @t ;'
    ELSE
    BEGIN
SET   @strSql   = @strSql +  'SELECT TOP( ' + Str(@pageSize) + ') * FROM ( SELECT TOP(' + Str(@pageSize * @currentPage) + ') *, ROW_NUMBER() OVER (ORDER BY ' + @result_OrderBy + ')'
SET   @strSql   = @strSql +  ' AS   RowNumber   FROM  @t'
SET   @strSql   = @strSql +  ' ) AS r WHERE   r.RowNumber   >  ' + Str(@pageSize * (@currentPage - 1)) + ';'
    END

IF @IsReCount != 0
    SET @strSql = 'SELECT COUNT(1) AS Total FROM @t ;'

--RETURN @strSql

EXEC(@strSql)

-----------------------
END

總結一下,主要思想還是用了sql server 的 top row_number函數。
 

【編輯推薦】
使用SQL中SELECT語句的使用條件邏輯

SQL語句中SELECT語句的執行順序

SQL語句中的嵌套SELECT語句

教您如何使用sql語句刪除所有存儲過程

SQL非正常刪除日志文件的恢復方法講解

責任編輯:段燃 來源: 互聯網
相關推薦

2011-03-24 13:38:47

SQL Server 存儲分頁

2011-03-28 10:46:36

sql server存儲分頁

2010-11-10 15:36:44

SQL Server存

2010-09-14 10:47:45

sql server存

2011-04-11 17:28:50

oracle存儲select語句

2010-06-30 14:36:49

SQL Server

2010-09-10 14:09:23

2010-11-10 15:16:14

Sql Server分

2010-06-18 10:34:38

SQL Server

2011-06-17 17:37:16

JavaSQL Server

2010-09-06 11:24:32

SQL Server語句

2010-09-06 11:05:05

SQL SERVER語句

2010-07-15 12:38:14

SQL Server存

2011-08-29 10:55:03

SQL Server分頁存儲過程優化效率分

2010-09-07 15:12:25

SQL語句優化

2010-11-12 09:18:13

SQL Server存

2010-07-26 14:43:31

SQL Server存

2009-08-06 16:44:06

2011-05-20 15:59:06

Oracle存儲Sql語句

2010-09-03 15:27:02

SQLSELECT語句
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片一区二区三区 | 久久国产精品一区二区 | 亚洲美女在线一区 | 亚洲欧美成人在线 | 亚洲色欲色欲www | 亚洲一区二区三区在线免费 | 一区二区三区视频在线 | 日韩欧美视频 | 中文字幕视频在线免费 | 国产在线小视频 | 久久亚洲精品国产精品紫薇 | 毛片在线看片 | 国产欧美在线 | 久久久久久久一区 | 国产精品亚洲综合 | 欧美激情综合 | 欧美精品一区二区免费视频 | 一区二区视频在线 | 99久久久久 | 一级片在线观看 | 欧美影院久久 | www.蜜桃av| 中文一区二区视频 | 免费在线看黄视频 | 亚洲 欧美 日韩 在线 | 久久三区 | 欧美午夜精品久久久久久浪潮 | 中文字幕av一区二区三区 | 亚州精品天堂中文字幕 | 日韩精品一区二区三区 | 国产一区三区在线 | 成人免费视频7777777 | 日本天天操 | 中文字幕免费在线 | 天堂一区二区三区四区 | 国产精品一区二区视频 | 99久久精品一区二区成人 | 国产精品亚洲综合 | 日韩欧美在线观看一区 | 欧美精品日韩精品国产精品 | 国产精品成人一区二区三区吃奶 |