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
  • 相关阅读:
    JavaScript prototype应用
    HTML表格
    ramnit病毒
    HTML简历表格
    Oracle、SQL Server、MySQL数据类型对比
    Oracle、SQL Server、MySQL分页方法
    java操作数据库出错
    SQL基本CRUD
    Oracle基础函数
    SQL多表查询
  • 原文地址:https://www.cnblogs.com/libaoting/p/4084663.html
Copyright © 2011-2022 走看看