zoukankan      html  css  js  c++  java
  • Sybase数据库的分页功能

    项目中需要用到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
  • 相关阅读:
    Parrot虚拟机
    JAVA数据结构二叉排序树
    mysql基本操作
    ruby数组操作
    JAVA核心技术之球体碰撞多线程版
    JAVA数据结构选择排序
    JAVA的线程让步
    Perl 与数学:一份快速参考
    科学计算软件包python(x,y)简介
    JAVA数据结构解析数学表达式
  • 原文地址:https://www.cnblogs.com/libaoting/p/4084663.html
Copyright © 2011-2022 走看看