存儲(chǔ)過(guò)程實(shí)現(xiàn)(可帶查詢(xún)條件/萬(wàn)能分頁(yè)/通用)建站
導(dǎo)讀:1建站知識(shí)可帶查詢(xún)條件的SQL語(yǔ)句的分頁(yè)存儲(chǔ)過(guò)程,在項(xiàng)目開(kāi)發(fā)中很實(shí)用,感興趣的朋友可以了解下,希望本文可以鞏固你的存儲(chǔ)seo網(wǎng)站排名優(yōu)化軟件營(yíng)銷(xiāo)型網(wǎng)站建設(shè)。
假設(shè)數(shù)據(jù)網(wǎng)站建設(shè)制作庫(kù)中有張表,表名是UserName,字段分別是ID(int),Name(nvarchar),Age(int)。 如果不帶查詢(xún)條件存儲(chǔ)過(guò)程是:
復(fù)制代碼 代碼如下:
CREATE PROCEDURE [dbo].[UserName] @pageIndex int, @pageSize int AS declare @min int; declare @max int; set @min=@pageSize*(@pageIndex-1)+1; set @max=@pageSize*@pageIndex; with myTable as(select ID,Name,Age,Row_Number() over (order by ID) as rownum from [UserName] ) select ID,Name,Age from myTable where rownum between @min and @max RETURN
這個(gè)分頁(yè)存儲(chǔ)過(guò)程很不實(shí)用,并且表是固定的。 下面十二個(gè)萬(wàn)能分頁(yè)存儲(chǔ)過(guò)程,網(wǎng)站seo優(yōu)化培訓(xùn)復(fù)制代碼 代碼如下:
CREATE PROCEDURE [dbo].[UP_GetRecordByP如何seo優(yōu)化推廣網(wǎng)站age] @tblName varchar(255), -- 表名 @fldName varchar(255), -- 主鍵字段名 @PageSize int , -- 頁(yè)尺寸 @PageIndex int , -- 頁(yè)碼 @IsReCount bit, -- 返回記錄總數(shù), 非 0 值則返回 @OrderType bit, -- 設(shè)置排序類(lèi)型, 非 0 值則降序 @strWhere varchar(1000) = '' -- 查詢(xún)條件 (注意: 不要加 where) AS declare @strSQL varchar(6000) -- 主語(yǔ)句 declare @strTmp varchar(2000) -- 臨時(shí)變量(查詢(xún)條件過(guò)長(zhǎng)時(shí)可能會(huì)出錯(cuò),可修改100為1000) declare @strOrder varchar(400) -- 排序類(lèi)型 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 <> 0 begin set @strTmp ='' if @strWhere != '' set @strTmp = ' where ' + @strWhere set @strSQL = 'select top ' + str(@PageSize) + ' * from [' + @tblName + ']' + @strTmp + ' ' + @strOrder exec (@strSQL) end if @IsReCount != 0 begin set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWhere exec (@strSQL) end
使用方法:復(fù)制代碼 代碼如下:
EXEC dbo.UP_GetRecordByPage @tblName = ‘UserName', -- varchar(255) @fldName = 'ID', -- varchar(255) @PageSize = 2, -- int @PageIndex = 1, -- int @IsReCount = 0, -- bit @OrderType = 1, -- bit @strWhere = 'Age=13' -- varchar(1000)
關(guān)鍵詞標(biāo)簽: 分頁(yè) 存儲(chǔ)過(guò)程
聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-05-23 ,文章存儲(chǔ)過(guò)程實(shí)現(xiàn)(可帶查詢(xún)條件/萬(wàn)能分頁(yè)/通用)建站主要講述分頁(yè),存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程實(shí)現(xiàn)(可帶查詢(xún)條件/萬(wàn)能網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_5990.html
為你推薦與存儲(chǔ)過(guò)程實(shí)現(xiàn)(可帶查詢(xún)條件/萬(wàn)能分頁(yè)/通用)建站相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長(zhǎng)度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12