国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP 千萬級數據分頁的存儲過程

2024-05-04 11:00:28
字體:
來源:轉載
供稿:網友
測試語法如下:powered by Vevb.com
exec GetRecordFromPage news,newsid,10,100000
news 為 表名, newsid 為關鍵字段, 使用時請先對 newsid 建立索引。
復制代碼 代碼如下:
/*
函數名稱: GetRecordFromPage
函數功能: 獲取指定頁的數據
參數說明: @tblName 包含數據的表名
@fldName 關鍵字段名
@PageSize 每頁記錄數
@PageIndex 要獲取的頁碼
@OrderType 排序類型, 0 - 升序, 1 - 降序
@strWhere 查詢條件 (注意: 不要加 where)
作  者: 鐵拳
郵  箱: sunjianhua_kki@sina.com
創建時間: 2006-07-04
修改時間: 2006-07-04
*/
CREATE PROCEDURE GetRecordFromPage
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@PageSize int = 10, -- 頁尺寸
@PageIndex int = 1, -- 頁碼
@OrderType bit = 0, -- 設置排序類型, 非 0 值則降序
@strWhere varchar(2000) = '' -- 查詢條件 (注意: 不要加 where)
AS

declare @strSQL varchar(6000) -- 主語句
declare @strTmp varchar(1000) -- 臨時變量
declare @strOrder varchar(500) -- 排序類型

if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName + '] desc'
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end

set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
+ @strOrder

if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder

if @PageIndex = 1
begin
set @strTmp = ''
if @strWhere != ''
set @strTmp = ' where (' + @strWhere + ')'

set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + ']' + @strTmp + ' ' + @strOrder
end

exec (@strSQL)

GO
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰化市| 澳门| 南京市| 治多县| 泗水县| 竹溪县| 安图县| 安新县| 建湖县| 东安县| 石家庄市| 绥德县| 余庆县| 旌德县| 泾源县| 丹寨县| 罗平县| 余干县| 千阳县| 双鸭山市| 峨山| 侯马市| 利津县| 天津市| 东城区| 孙吴县| 旬邑县| 西宁市| 东乌珠穆沁旗| 淮南市| 灵川县| 青神县| 新干县| 辽阳市| 横山县| 右玉县| 卢湾区| 资溪县| 东方市| 罗定市| 达州市|