亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

通用存儲過程(二)

系統 1978 0

create proc [dbo].[SqlPager]
(
@tblName varchar(255), -- 表名(注意:可以多表鏈接)
@strGetFields varchar(1000) = '*', -- 需要返回的列
@OrderfldName varchar(255)='', -- 排序的字段名
@PageSize int = 10, -- 頁尺寸
@PageIndex int = 1, -- 頁碼
@doCount int = 1 output, --查詢到的記錄數
@OrderType bit = 0, -- 設置排序類型, 非 0 值則降序
@strWhere varchar(500) = '' -- 查詢條件 (注意: 不要加 where)
)
AS
declare @strSQL nvarchar(4000) -- 主語句
declare @strTmp varchar(110) -- 臨時變量
declare @strOrder varchar(300) -- 排序類型


if @strWhere != ''
set @strSQL = 'select @doCount=count(*) from ' + @tblName + ' where '+@strWhere
else
set @strSQL = 'select @doCount=count(*) from ' + @tblName
exec sp_executesql @strSQL,N'@doCount int out',@doCount out
--以上代碼的意思是如果@doCount傳遞過來的不是0,就執行總數統計。以下的所有代碼都是@doCount為0的情況
set @strSQL='';


if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @OrderfldName +'] desc'--如果@OrderType不是0,就執行降序,這句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @OrderfldName +'] asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder--如果是第一頁就執行以上代碼,這樣會加快執行速度
end
else
begin--以下代碼賦予了@strSQL以真正執行的SQL代碼
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '
+ @tblName + ' where [' + @OrderfldName + ']' + @strTmp + '(['+ @OrderfldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @OrderfldName + '] from ' + @tblName + ' ' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '
+ @tblName + ' where [' + @OrderfldName + ']' + @strTmp + '(['
+ @OrderfldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @OrderfldName + '] from ' + @tblName + ' where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
exec (@strSQL)

通用存儲過程(二)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九影院最新理论片 | 免费小视频 | 欧美艹逼视频 | 亚洲已满18点击进入在线观看 | 一级特黄性色生活片一区二区 | 337p日本大胆欧洲色噜噜高清 | 色偷偷亚洲 | 91福利刘玥国产在线观看 | 秋霞在线观看成人高清视频51 | 久久毛片免费看一区二区三区 | 中文在线1区二区六区 | 日本在线一级 | 久久久久久久国产视频 | 一级a俄罗斯毛片免费 | 欧美影院久久 | 澳门成人免费永久视频 | 日本一级特黄aa毛片免费观看 | 中文字幕综合在线 | 日本精品一区二区三区在线 | 美女精品 | 超级乱淫视频播放日韩 | 97se亚洲国产综合自在线 | 9999人体做爰大胆 | 老司机午夜在线视频免费 | 精品亚洲一区二区 | 中文字幕日韩一区二区 | 国产亚洲精品久久午夜 | 亚洲午夜精品 | 亚洲精品一区二区不卡 | 亚洲日本欧美产综合在线 | 国产免费久久精品丫丫 | 激情五月婷婷色 | 噜噜狠狠 | 婷婷久久综合网 | 欧美另类网站 | 韩日性视频 | a毛片毛费观看 | 免费又黄又爽视频 | www.五月天激情 | 春暖花开亚洲 | 欧美成人一区二区三区不卡视频 |