码迷,mamicode.com
首页 > 数据库 > 详细

Sybase数据库的分页功能

时间:2014-11-09 11:03:41      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   sp   数据   div   on   art   

项目中需要用到Sybase数据库的分页功能,想尽各种办法都没有成功,最后用如下的存储过程成功实现功能,记录备忘。

 
CREATE PROCEDURE jsp_query_page @sql varchar(2000),@start int, @pageSize int as 
 begin 
     declare @ipage int
     declare @rcount int 
     declare @execsql varchar(2000)
     declare @sql1 varchar(2000) 
     declare @t int,@p int,@n int,@l int
     begin
         set @sql1=@sql
         set @n=0
         set @l=0
         set @t=charindex(select ,lower(@sql))
         set @sql=substring(@sql,@t+7,char_length(@sql)-7)
         set @n=@n+1
         set @l=@l+7
         while(@n!=0)
         begin
             set @t=charindex(select ,lower(@sql))
             set @p=charindex(from ,lower(@sql))
             if ((@t<@p) and (@t!=0))
                 begin
                     set @sql=substring(@sql,@t+7,char_length(@sql)-7)
                     set @n=@n+1
                     set @l=@l+6+@t
                 end
             else
                 begin
                     set @sql=substring(@sql,@p+5,char_length(@sql)-5)
                     set @n=@n-1
                     set @l=@l+4+@p
                 end
         end
         set @execsql = substring(@sql1,1,@l-5)+ ,sybid=identity(12) into #temp +substring(@sql1,@l-4,char_length(@sql1)-@l+5)
         select @rcount=@start + @pageSize
         set rowcount @rcount 
         set @execsql = @execsql ||  select * from #temp where sybid> || convert(varchar,@start) ||  and sybid <=  || convert(varchar,@rcount) 
         print @execsql
         execute (@execsql) 
         set rowcount 0 
     end
 end

 

Sybase数据库的分页功能

标签:style   blog   color   ar   sp   数据   div   on   art   

原文地址:http://www.cnblogs.com/libaoting/p/4084663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!