set
ANSI_NULLS
ON
set
QUOTED_IDENTIFIER
ON
go


--
分页存储过程 By TB_TIR_InitialTobacco_Pattrern_NIC
--
Table变量写法
--
Powered By:CHENQP
--
参数说明:@pagesize 每页要取的记录数
--
@pageindex 第几页
--
@docount 标志 true 则取记录数,false 则返回记录集
--
调用说明:例如:第一页取8条记录集
--
EXECUTE usp_TBTIRInitialTobaccoPattrernNIC_ByPager 1,8,false
ALTER
procedure
[
dbo
]
.
[
usp_TBTIRInitialTobaccoPattrernNIC_ByPager
]
(
@pagesize
int
,
@pageindex
int
,
@docount
bit
)
as
set
nocount
on
if
(
@docount
=
1
)
select
count
(I_SortID)
from
TB_TIR_InitialTobacco_Pattrern_NIC
else
begin
declare
@indextable
table
(id
int
identity
(
1
,
1
),nid
int
)
declare
@PageLowerBound
int
declare
@PageUpperBound
int
set
@PageLowerBound
=
(
@pageindex
-
1
)
*
@pagesize
set
@PageUpperBound
=
@PageLowerBound
+
@pagesize
set
rowcount
@PageUpperBound
insert
into
@indextable
(nid)
select
I_SortID
from
TB_TIR_InitialTobacco_Pattrern_NIC
order
by
I_SortID
desc

select
O.
*
from
TB_TIR_InitialTobacco_Pattrern_NIC O,
@indextable
t
where
O.I_SortID
=
t.nid
and
t.id
>
@PageLowerBound
and
t.id
<=
@PageUpperBound
order
by
t.id
end
set
nocount
off



本文介绍了一个SQL Server中的分页存储过程实现方法,通过使用表变量和动态设置行计数来实现指定页数和每页记录数的数据查询。
908

被折叠的 条评论
为什么被折叠?



