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

通用存儲過程(二)

系統 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條評論
主站蜘蛛池模板: 天天做.天天爱.天天综合网 | 日韩欧美第一区二区三区 | 国产网站视频 | 国产成人禁片免费观看视频 | 日本一本一道久久香蕉免费 | 永久黄网站色视频免费观看 | 韩国欧美一级毛片免费 | 天天干在线影院 | 狠狠成人| 日韩 欧美 自拍 在线 视频 | 九九在线精品视频播放 | 香蕉视频网站 | 在线欧美精品国产综合五月 | 精品亚洲综合在线第一区 | 久久国产乱子伦精品免费看 | 婷婷色中文网 | 亚洲一区二区三区播放在线 | 99久久精品国产一区二区 | 13一14周岁毛片免费 | 国产高清自拍 | 国产福利午夜波多野结衣 | 亚洲精品无人区一区二区三区 | 欧美黄色录像 | 一级毛片在线看在线播放 | 99久久日本一区二区波多野结衣 | 久草小区二区三区四区网页 | 亚洲美女性视频 | 亚洲一在线| 国产舐足视频在线观看 | 免费视频精品一区二区 | 在线观看久草 | 夜夜操夜夜摸 | 亚洲国产精品区 | 黄色网址视频在线播放 | 偷拍肉窝窝视频在线播放 | 国产亚洲福利精品一区 | 婷婷第四色 | 日本精品一二三区 | 国产精品福利在线观看入口 | 99久久精品无码一区二区毛片 | 欧美精品亚洲精品日韩 |