一个问题,请帮忙回答(100分)

cglg 2003-06-21 04:31:13
请编写一存储过程,实现按任意查询条件分批返回数据的功能,每批返回记录条数可指定。
如:sp_FetchRecordByPage(@selectCmd,@PageNumber,@PageSize)

-- @selectCmd,用户条件查询语句

-- @PageNumber,要选择的批号,从1开始

-- @PageSize,每批的记录条数

作用:分页返回数据或海量数据拆分返回
作答SQL:
...全文
19 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
leimin 2003-06-21
  • 打赏
  • 举报
回复
请编写一存储过程,实现按任意查询条件分批返回数据的功能,每批返回记录条数可指定

你可以通过WORKING TABLE来实现,用户的“任意查询条件”,“返回记录条数”..条件你可以先保存到一个WORKING TABLE中,并且有一FLG来确定该T-SQL是否运行,再通过另一个CONNECTION来运行该T-SQL语句.

这样实现的好处:扩展方便,实现容易,效率较高。
firetoucher 2003-06-21
  • 打赏
  • 举报
回复
create proc sp_FetchRecordByPage(@selectCmd varchar(1000),@PageNumber int ,@PageSize int)
as
exec ('select top '+ @PageSize+ ' * from (select top '+ @PageNumber * @PageSize + ' * from (' + @selectCmd + '))')
firetoucher 2003-06-21
  • 打赏
  • 举报
回复
exec ('select top '+ @PageSize+ ' * from (select top '+ @PageNumber * @PageSize + ' * from (' + @selectCmd + '))')
zjcxc 2003-06-21
  • 打赏
  • 举报
回复
只要是条件,那还比较好解决一点.
晚上再看过.
zjcxc 2003-06-21
  • 打赏
  • 举报
回复
那你给出表结构
cglg 2003-06-21
  • 打赏
  • 举报
回复
是条件
hjb111 2003-06-21
  • 打赏
  • 举报
回复
观察~!
zjcxc 2003-06-21
  • 打赏
  • 举报
回复
先确定一个问题:
你的 @selectCmd,用户条件查询语句
这个仅仅是条件,还是一个完整的查询表达式
即是where条件后的部分,还是'select * from aa'
cglg 2003-06-21
  • 打赏
  • 举报
回复
我也知道不好做,我不会才问的
zjcxc 2003-06-21
  • 打赏
  • 举报
回复
这个有点难
关键不是在返回第XX到MM条记录上
而是你的 @selectCmd,用户条件查询语句
这个仅仅是条件,还是一个完整的查询表达式
即是where条件后的部分,还是'select * from aa'

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧