SQL SERVER儲存過程實現分頁

2021-09-23 10:21:06 字數 1198 閱讀 4041

create procedure [dbo].[sp_pagelist]--建立儲存過程

(@stationid nvarchar(32),--工位id

@pagesize int, --每頁顯示的項數

@pageindex int--當前頁數)as

begin

--獲取總行數,用count(*)

declare @sqlselect nvarchar(max)

declare @recordcount int

set @sqlselect='select @rowcount=count(*) from station_'+@stationid

print @sqlselect

exec sys.sp_executesql @sqlselect,n'@rowcount int output',@recordcount output;--將總頁數賦給@recordcount output

--查詢總頁數(ceiling()向上捨入)

declare @pagecount int --宣告

set @pagecount=ceiling(convert(float,@recordcount/@pagesize))--獲取頁數

--判斷當查詢的頁數小於1時則查詢首頁,大於最大值則為最後一頁

if(@pageindex<1)

begin

set @pageindex=1;

endif(@pageindex>@pagecount)

begin

set @pageindex=@pagecount;

end--查詢分頁資料(convert),防止序號出現斷層

set @sqlselect= 'select * from(select row_number() over(order by [id]) as rowindex ,* from station_'+ @stationid+') a where a.rowindex>'+convert(nvarchar(32),(@pagesize*(@pageindex-1)))+' and a.rowindex<='+convert(nvarchar(32),(@pagesize*@pageindex))+''

exec sp_executesql @sqlselect

print @sqlselect

endgo

sql server儲存過程實現批量刪除

在專案中用到了儲存過程來進行批量刪除的操作,給大家分享一下 原理就是把id組成的字串在資料庫分割成陣列放一張臨時表,刪除的時候與id進行對照 刪除會員資訊 ifobject id pro deluserinfo p is notnull 判斷儲存過程是否存在 drop proc pro deluse...

sql server儲存過程

建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...

SQLSERVER儲存過程

sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...