日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

通用存儲過程(二)

系統(tǒng) 2373 0

create proc [dbo].[SqlPager]
(
@tblName varchar(255), -- 表名(注意:可以多表鏈接)
@strGetFields varchar(1000) = '*', -- 需要返回的列
@OrderfldName varchar(255)='', -- 排序的字段名
@PageSize int = 10, -- 頁尺寸
@PageIndex int = 1, -- 頁碼
@doCount int = 1 output, --查詢到的記錄數(shù)
@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,就執(zhí)行總數(shù)統(tǒng)計。以下的所有代碼都是@doCount為0的情況
set @strSQL='';


if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @OrderfldName +'] desc'--如果@OrderType不是0,就執(zhí)行降序,這句很重要!
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--如果是第一頁就執(zhí)行以上代碼,這樣會加快執(zhí)行速度
end
else
begin--以下代碼賦予了@strSQL以真正執(zhí)行的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)

通用存儲過程(二)


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 辽宁省| 鄂温| 灯塔市| 遂溪县| 祁东县| 新田县| 若尔盖县| 柳河县| 武穴市| 昭苏县| 大竹县| 临潭县| 阿坝县| 天等县| 枣庄市| 台中市| 资源县| 平潭县| 吐鲁番市| 吴旗县| 益阳市| 富阳市| 青川县| 新闻| 金寨县| 家居| 克东县| 广东省| 资源县| 福贡县| 明星| 承德市| 彰武县| 广平县| 黎城县| 惠水县| 明光市| 大安市| 九龙坡区| 罗江县| 海城市|